ホームページ  >  記事  >  バックエンド開発  >  PHPフォーム検証はjquery-validateプラグインに対応します

PHPフォーム検証はjquery-validateプラグインに対応します

不言
不言オリジナル
2018-04-21 16:52:281319ブラウズ

この記事では、特定の参照値を持つ jquery-validate プラグインに対応する PHP フォーム検証を紹介します。必要な友達はそれを参照できるようにします


。パラメータがわからない場合は、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(&#39;.&#39;,$value);
		$ext=end($list);
		$extdot=&#39;.&#39;.$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(&#39;,&#39;,$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(&#39;,&#39;,$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, &#39;.&#39;)) {
		    return true;
		  }
	    else{
	      return false;
	    }
		}
	  else{
	    return false;
	  }
	}


	//检测后缀名 explode
	public function is_ext($str)
	{
		$file_list=explode(&#39;.&#39;);
	}

}
?>


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。

関連する推奨事項:

php フォームの繰り返し送信を防ぐcsrf 脆弱性)











以上がPHPフォーム検証はjquery-validateプラグインに対応しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。