直接代码。如果对参数不懂,可以参考jquery-validate插件
学习推荐:
《thinkphp5经典案例》 http://www.kancloud.cn/duerhong/rumen/308144
thinkphp 精英群:536633782
<?php
/*
*/
namespace Vendor\Mylib;
class DbValidate{
function __construct()
{
}
// 必填
function v_required($value,$limit=true)
{
if ($limit) {
if (isset($value) and !empty($value)) {
return true;
}
else{
return false;
}
}
else{
return true;
}
}
// 邮箱
public function v_email($value,$limit=true)
{
if ($limit) {
if ($this->is_email($value)) {
return true;
}
else{
return false;
}
}
else{
return true;
}
}
// 手机号码
public function v_mobile($value,$limit=true)
{
if ($limit) {
if ($this->is_mobile($value)) {
return true;
}
else{
return false;
}
}
else{
return true;
}
}
// url
public function v_url($value,$limit=true)
{
if ($limit) {
if ($this->is_url($value)) {
return true;
}
else{
return false;
}
}
else{
return true;
}
}
// 是否数字
public function v_number($value,$limit=true)
{
if ($limit) {
if (is_numeric($value)) {
return true;
}
else{
return false;
}
}
else{
return true;
}
}
// 是否整数
public function v_digits($value,$limit=true)
{
if ($limit) {
if (is_digits($value)) {
return true;
}
else{
return false;
}
}
else{
return true;
}
}
//检测合法后缀名
public function v_accept($value,$limit=true)
{
$list=explode('.',$value);
$ext=end($list);
$extdot='.'.$ext;
if ($limit==$ext or $limit==$extdot) {
return true;
}
else{
return false;
}
}
// 字符最大长度 只判断英文 无法验证中文
public function v_maxlength($value,$limit=true)
{
$len=strlen($value);
if ($len<=$limit) {
return true;
}
else{
return false;
}
}
// 最小字符长度 注意只判断英文,数字。无法验证中文
public function v_minlength($value,$limit=true)
{
$len=strlen($value);
if ($len>=$limit) {
return true;
}
else{
return false;
}
}
// 输入值长度区间
public function v_rangelength($value,$limit=true)
{
$list=explode(',',$limit);
$len=strlen($value);
$min=$list[0];
$max=$list[1];
if ($len>=$min and $len<=$max) {
return true;
}
else{
return false;
}
}
// 输入值区间
function v_range($value,$limit=true)
{
$list=explode(',',$limit);
$min=$list[0];
$max=$list[1];
if ($value>=$min and $value<=$max) {
return true;
}
else{
return false;
}
}
// 输入的最大值
function v_max($value,$limit=true)
{
if ($value<=$limit) {
return true;
}
else{
return false;
}
}
// 输入的最小值
function v_min($value,$limit=true)
{
if ($value>=$limit) {
return true;
}
else{
return false;
}
}
// ------------------ -公用验证-----=========================--------
// 是否邮箱
function is_email($email)
{
if(!filter_var($email, FILTER_VALIDATE_EMAIL))
{
return false;
}
else
{
return true;
}
}
//验证手机号码
function is_mobile($str){
if(preg_match("/1[3458]{1}\d{9}$/",$str)){
return true;
}else{
return false;
}
}
//验证url地址
function is_url($str){
return preg_match("/^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\’:+!]*([^<>\"])*$/", $str);
}
function is_date($date)
{
//匹配日期格式
if (preg_match ("/^([0-9]{4})-([0-9]{2})-([0-9]{2})$/", $date, $parts))
{
//检测是否为日期
if(checkdate($parts[2],$parts[3],$parts[1])){
return true;
}
else{
return false;
}
}
else{
return false;
}
}
function is_digits($str){
if (is_numeric($str)) {
if (!strstr($str, '.')) {
return true;
}
else{
return false;
}
}
else{
return false;
}
}
//检测后缀名 explode
public function is_ext($str)
{
$file_list=explode('.');
}
}
?>
jquery-validate插件参数
jqueryvalidation 常用插件 *代表php暂时不支持 required:true 必须输入的字段。 remote:"check.php" 使用 ajax 方法调用 check.php 验证输入值。 email:true 必须输入正确格式的电子邮件。 url:true 必须输入正确格式的网址。 date:true 必须输入正确格式的日期。日期校验 ie6 出错,慎用。 dateISO:true 必须输入正确格式的日期(ISO),例如:2009-06-23,1998/01/22。只验证格式,不验证有效性。 *** number:true 必须输入合法的数字(负数,小数)。 digits:true 必须输入整数。 creditcard: 必须输入合法的信用卡号。 *** equalTo:"#field" 输入值必须和 #field 相同。 *** accept: 输入拥有合法后缀名的字符串(上传文件的后缀)。 maxlength:5 输入长度最多是 5 的字符串(汉字算一个字符)。 minlength:10 输入长度最小是 10 的字符串(汉字算一个字符)。 rangelength:[5,10] 输入长度必须介于 5 和 10 之间的字符串(汉字算一个字符)。 range:[5,10] 输入值必须介于 5 和 10 之间。 max:5 输入值不能大于 5。 min:10 输入值不能小于 10。