php表单验证 对应jquery-validate插件

姬雪松
2023-12-01


直接代码。如果对参数不懂,可以参考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。












 类似资料: