PHP常用正则表达式

PHP中常用的几个正则表达式:

经过测试,暂无错误,如有更好的希望告诉我:

EAMIL检测:"/^[/w/d/-_]+@/w+[/w/d/.-_]+/w+$/i"

URL网址检测: "/^(http[s]?:)?([/w-]+/.)+[/w-]+([/w-/.///?/%/&/=]*)?$/i"

身份证号码检测:"/^(/d{15}|/d{17}[/dx]+)+$/i"

英文+数字检测:"/^[a-zA-Z0-9]+$/i"

中文检测:"/^([/xE4-/xE9][/x80-/xBF][/x80-/xBF])+$/"(UTF-8下通过,其它编码没测试)

纯数字检测:"/^/d+$/i"

布尔型检测:"/^(true|false|0|1)+$/i"

SQL表达式检测:"//s*select/s+(top/s+/d+/s+)?(/*|count/((/*|[/w_]+)+/)|[/w_]+)+(/s+as/s+[/w_]+)*(/s*,/s*(/*|[/w_]+)(/s+as/s+[/w_]+)*)*/s+from/s+/[?[/w_]+/]?/s*/i"

 

 

完整的PHP函数定义如下:

  function istrue($str, $flag){
  $flag = strtoupper($flag);
  switch($flag){
   case "EMAIL":
    $pattern = "/^[/w/d/-_]+@/w+[/w/d/.-_]+/w+$/i";
    break;
   case "URL":
    $pattern = "/^(http[s]?:)?([/w-]+/.)+[/w-]+([/w-/.///?/%/&/=]*)?$/i";
    break;
   case "CID":
    $pattern = "/^(/d{15}|/d{17}[/dx]+)+$/i";
    break;
   case "EN":
    $pattern = "/^[a-zA-Z0-9]+$/i";
    break;
   case "CN":
    $pattern = "/^([/xE4-/xE9][/x80-/xBF][/x80-/xBF])+$/";
    break;
   case "NUM":
    $pattern = "/^/d+$/i";
    break;
   case "BOOL":
    $pattern = "/^(true|false|0|1)+$/i";
    break;
   case "SQL":
    $pattern = "//s*select/s+(top/s+/d+/s+)?(/*|count/((/*|[/w_]+)+/)|[/w_]+)+(/s+as/s+[/w_]+)*(/s*,/s*(/*|[/w_]+)(/s+as/s+[/w_]+)*)*/s+from/s+/[?[/w_]+/]?/s*/i";
    break;
  }
  
  $str = (string)($str);
  return preg_match($pattern, $str);
 }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

喵大斯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值