• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

PHP实现常规正则验证helper公共类的方法

php 搞代码 4年前 (2022-01-22) 21次浏览 已收录 0个评论

这篇文章主要介绍了PHP实现的常规正则验证helper公共类,结合完整实例形式分析了php针对常规的电话、手机、邮箱、账号等进行正则验证的操作技巧,需要的朋友可以参考下

主要代码功能: 弥补平时项目对于验证功能这块的不严谨。具体细分的常规验证, 手机号/电话/小灵通验证, 字符串长度区间合法验证, 邮箱验证, 使用正则验证数据.

/** * * * 常规验证helper公共类 * * */class CheckForm{  //手机号/电话/小灵通 验证  public function Mobile_check($mobile,$type = array())  {    /**    * 手机号码    * 移动:134[0-8],135,136,137,138,139,150,151,157,158,159,182,187,188    * 联通:130,131,132,152,155,156,185,186    * 电信:133,1349,153,180,189    */    $res[1]= preg_match('/^1(3[0-9]|5[0-35-9]|8[0-9])\\d{8}$/', $mobile);    /**    * 中国移动:China Mobile    11   * 134[0-8],135,136,137,138,139,150,151,157,158,159,182,187,188    */    $res[2]= preg_match('/^1(34[0-8]|(3[5-9]|5[017-9]|8[0-9])\\d)\\d{7}$/', $mobile);    /**    * 中国联通:China Unicom    * 130,131,132,152,155,156,185,186    */    $res[3]= preg_match('/^1(3[0-2]|5[256]|8[56])\\d{8}$/', $mobile);    /**    * 中国电信:China Telecom    * 133,1349,153,180,189    */    $res[4]= preg_match('/^1((33|53|8[09])[0-9]|349)\\d{7}$/', $mobile);    /**    * 大陆地区固话及小灵通    * 区号:010,020,021,022,023,024,025,027,028,029    * 号码:七位或八位    */    $res[5]= preg_match('/^0(10|2[0-5789]|\\d{3})-\\d{7,8}$/', $mobile);    $type = empty($type) ? array(1,2,3,4,5) : $type;    $ok = false;    foreach ($type as $key=>$val)    {      if ($res[$val])      {        $ok = true;      }      continue;    }    if ( $mobile && $ok )    {      return true;    } else{      return false;    }  }  //字符串长度区间合法验证  public function S<i>1本文来#源gaodai$ma#com搞$代*码*网</i><pre>搞代gaodaima码

trlength_check($str, $min=NULL, $max=NULL) { preg_match_all("/./u", $str, $matches); $len = count($matches[0]); if(is_null($min) && !empty($max) && $len < $max){ return false; } if(is_null($max) && !empty($min) && $len > $min){ return false; } if ($len < $min || $len > $max) { return false; } return true; } //邮箱验证 public static function isEmail($str) { if (!$str) { return false; } return preg_match('#[a-z0-9&\-_.]+@[\w\-_]+([\w\-.]+)?\.[\w\-]+#is', $str) ? true : false; } /** * 使用正则验证数据 * @access public * @param string $rule 验证规则 * @param string $value 要验证的数据 * @return boolean */ public function regex($rule,$value) { $validate = array( //字段必须,不能为空 'require' => '/\S+/', //邮箱验证 'email' => '/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/', //url验证 'url' => '/^http(s?):\/\/(?:[A-za-z0-9-]+\.)+[A-za-z]{2,4}(?:[\/\?#][\/=\?%\-&~`@[\]\':+!\.#\w]*)?$/', //货币验证 'currency' => '/^\d+(\.\d{0,2})?$/', //数字验证 'number' => '/^[-\+]?\d+(\.\d+)?$/', //zip验证 'zip' => '/^\d{6}$/', //整数验证 'integer' => '/^[-\+]?\d+$/', //浮点数验证 'double' => '/^[-\+]?\d+(\.\d+)?$/', //英文验证 'english' => '/^[A-Za-z]+$/', 'gt0' => '/^(?!(0[0-9]{0,}$))[0-9]{1,}[.]{0,}[0-9]{0,}$/', //合法帐号 'account' => '/^[a-zA-Z][a-zA-Z0-9_]{1,19}$/' ); // 检查是否有内置的正则表达式 if(isset($validate[strtolower($rule)])) $rule = $validate[strtolower($rule)]; return preg_match($rule,$value)===1; } function CheckPwd($pwd,$min=NULL, $max=NULL) { if (strlen($pwd)>$max || strlen($pwd)<$min || preg_match("/^\d*$/",$pwd) || preg_match("/^[a-z]*$/i",$pwd)) { return false; } return true; }}

is_null() 检测变量是否为 NULL。

以上就是本文的全部内容,希望对大家的学习有所帮助。

相关推荐:

php遍历解析xml字符串的方法_php技巧

PHP递归遍历多维数组实现无限分类的方法_php技巧

php简单复制文件的方法_php技巧

以上就是PHP实现常规正则验证helper公共类的方法的详细内容,更多请关注搞代码gaodaima其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:PHP实现常规正则验证helper公共类的方法

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址