常用正则整理

if(!preg_match("/^1[345678]\d{9}$/", $data[‘phone’])){
return json([‘code’=>0,‘msg’=>‘手机号码格式不正确’]);
}

if(!preg_match("/1* / i " , /i", /i",data[‘pass’])){
return json([‘code’=>0,‘msg’=>‘密码只能包含数字和字母’]);
}

字符串过滤所有非英语字符和特殊符号仅保留英语字符,数字和空格:
$string = “abcd23uo*&* (.字符串过”;preg_match_all("/[\w\s]/i", $string, $matches);
print_r(implode(’’, $matches[0]));

字符串过滤所有非中文字符:
$string = “abcd23uo*&* (.字符串过”;preg_match_all("/([\x{4e00}-\x{9fa5}])/u", $string, $matches);
print_r(implode(’’, $matches[0]));

表单验证匹配
验证账号,字母开头,允许 5-16 字节,允许字母数字下划线:2[a-zA-Z0-9_]{4,15}$
验证账号,不能为空,不能有空格,只能是英文字母:^\S+[a-z A-Z]$
验证账号,不能有空格,不能非数字:^\d+$
验证用户密码,以字母开头,长度在 6-18 之间:3\w{5,17}$
验证是否含有 ^%&’,;=?KaTeX parse error: Expected group after '^' at position 8: \ 等字符:[^̲%&',;=?\x22]+
匹配Email地址:\w+([-+.]\w+)@\w+([-.]\w+).\w+([-.]\w+)*
匹配腾讯QQ号:[1-9][0-9]{4,}
匹配日期,只能是 2004-10-22 格式:^\d{4}-\d{1,2}-\d{1,2}$
匹配国内电话号码:^\d{3}-\d{8}|\d{4}-\d{7,8}$
评注:匹配形式如 010-12345678 或 0571-12345678 或 0831-1234567
匹配中国邮政编码:4\d{5}(?!\d)$
匹配身份的证:\d{14}(\d{4}|(\d{3}[xX])|\d{1})
评注:中国的身份的证为 15 位或 18 位
不能为空且二十字节以上:5{20,}$
字符匹配
匹配由 26 个英文字母组成的字符串:6+$
匹配由 26 个大写英文字母组成的字符串:7+$
匹配由 26 个小写英文字母组成的字符串:8+$
匹配由数字和 26 个英文字母组成的字符串:9+$
匹配由数字、26个英文字母或者下划线组成的字符串:^\w+$
匹配空行:\n[\s| ]\r
匹配任何内容:[\s\S]

匹配中文字符:[\x80-\xff]+ 或者 [\xa1-\xff]+
只能输入汉字:10,{0,}$
匹配双字节字符(包括汉字在内):[^\x00-\xff]
匹配数字
只能输入数字:11$
只能输入n位的数字:^\d{n}$
只能输入至少n位数字:^\d{n,}$
只能输入m-n位的数字:^\d{m,n}$
匹配正整数:12\d
$
匹配负整数:^-[1-9]\d*$
匹配整数:^-?[1-9]\d*$
匹配非负整数(正整数 + 0):13\d*|0$
匹配非正整数(负整数 + 0):^-[1-9]\d*|0$
匹配正浮点数:14\d*.\d*|0.\d*[1-9]\d*$
匹配负浮点数:^-([1-9]\d*.\d*|0.\d*[1-9]\d*)$
匹配浮点数:^-?([1-9]\d*.\d*|0.\d*[1-9]\d*|0?.0+|0)$
匹配非负浮点数(正浮点数 + 0):15\d*.\d*|0.\d*[1-9]\d*|0?.0+|0$
匹配非正浮点数(负浮点数 + 0):^(-([1-9]\d*.\d*|0.\d*[1-9]\d*))|0?.0+|0$

其他
匹配HTML标记的正则表达式(无法匹配嵌套标签):<(\S*?)[^>]>.?</\1>|<.? />
匹配网址 URL :[a-zA-z]+://[^\s]

匹配 IP 地址:((25[0-5]|2[0-4]\d|[01]?\d\d?).){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)
匹配完整域名:[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+.?


  1. a-z\d ↩︎

  2. a-zA-Z ↩︎

  3. a-zA-Z ↩︎

  4. 1-9 ↩︎

  5. \s|\S ↩︎

  6. A-Za-z ↩︎

  7. A-Z ↩︎

  8. a-z ↩︎

  9. A-Za-z0-9 ↩︎

  10. \x80-\xff ↩︎

  11. 0-9 ↩︎

  12. 1-9 ↩︎

  13. 1-9 ↩︎

  14. 1-9 ↩︎

  15. 1-9 ↩︎

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值