脚本宝典收集整理的这篇文章主要介绍了php常用的验证,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
<?PHP namespace Vendor\Func; /** * 常用的验证 * Class Verify * @package Vendor\Func */ class Verify { /** * 判断是否包含中文 * @param $str * @return int */ public static function checkHasChinese($str) { $len = PReg_match('/[\x{4e00}-\x{9fa5}]+/u',$str); if ($len) { return true; } return false; } /** * 判断是否都是中文 * @param $str * @return int */ public static function checkAllChinese($str) { $len = preg_match('/^[\x{4e00}-\x{9fa5}]+$/u',$str); if ($len) { return true; } return false; } /** * 验证用户名 * @param $username * @return bool */ public static function checkUserName($username) { $seArch = '/^[a-zA-Z][-_a-zA-Z0-9]{5,15}$/'; if (preg_match($search,$username)) { return true; } else { return false; } } /** * 验证手机号 * @param $tel * @return bool */ public static function checkmobile($tel) { $search = '/^(1(([356][0-9])|(47)|[8][0-9]|[7][0-9]))\d{8}$/'; if (preg_match($search,$tel)) { return true; } else { return false; } } /** * 检测日期格式 * @param $date * @return bool */ public static function checkDateFormat($date) { //匹配日期格式 if (preg_match('/^(\d{4})-(\d{2})-(\d{2})$/',$date,$parts) && checkdate($parts[2],$parts[3],$parts[1])) { return true; } else { return false; } } /** * 验证身份证号 * @param $IDCard * @return bool */ public static function checkIDCard($IDCard) { $preg_card = '/^\d{17}[\d|x]$|^\d{15}$/i'; if (preg_match($preg_card,$IDCard)) { return true; } else { return false; } } /** * 验证银行卡 16-19 位卡号校验位采用 Luhn 校验方法计算: 第一步:把信用卡号倒序(61789372994) 第二步:取出倒序后的奇数位置上的号码, 相加等到总和s1。(eg:s1=6+7+9+7+9+4=42) 第三步:取出倒序后的偶数位置上的号码,每个号码乘以2。 (eg:2,16,6,4,18) 第四步:把第三步得到的大于10的号码转化为个位+十位。(eg:2,7,9) 第五步:把处理好的偶数位号码相加,得到s2。 (eg:s2=2+7+6+4+9=28) 第六步:判读(s1+s2)%10 == 0则有效,否则无效。(有效) * @param $card * @return bool */ public static function checkBank($card) { $card = str_replace(' ','',$card); // step1 判断是否16到19位 $pattern = '/^\d{16,19}$/'; if (!preg_match($pattern,$card)) { return false; } // step2 luhn 算法校验 $len = strlen($card); $sum = 0; for ($i = 0; $i < $len ; $i++) { if (($i + $len) & 1) { // 奇数 $sum += ord($card[$i]) - ord('0'); } else { // 偶数 $tmp = (ord($card[$i]) - ord('0')) * 2; $sum += floor($tmp / 10) + $tmp % 10; } } return $sum % 10 === 0; } /** * 验证密码 6~16位,数字字母或下划线 * @param $pwd * @return string */ public static function checkPwd($pwd){ $pattern= '/^[0-9a-z_]{6,16}$/i'; // i 不区分大小写 if(preg_match($pattern,$pwd)){ return true; }else{ return false; } } /** * 匹配价格,重量等正整数或正小数 * @param $num * @return bool */ public static function checKDEcimal($num) { // 可以匹配1.11,10.11 或 0.11 if (preg_match('/^[1-9]+\d*(.\d{1,2})?$|^\d+.\d{1,2}$/',$num)) { // ? 0次或1次,+ 1次或多次,* 0次或多次 return true; } else { return false; } } /** * 匹配正整数 * @param $num * @return bool */ public static function checkInteger($num) { // 不能小于0 if (preg_match('/^[1-9]+\d*$/',* 0次或多次 return true; } else { return false; } } /** * 检测参数是否为数组 * @param $array * @return string */ public static function checkArray($array){ if (is_array($array)) { return true; } else { return false; } } /** * 检测纳税人识别号 * 15位、17位、18或者20位码 * 字母全部大写 * @param $str * @return string */ public static function checkTax($str){ $pattern= '/^[0-9A-Z]{15,20}$/'; // i 不区分大小写 if(preg_match($pattern,$str)){ return true; }else{ return false; } } }
以上是脚本宝典为你收集整理的php常用的验证全部内容,希望文章能够帮你解决php常用的验证所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。