博客列表 >常用正则整理

常用正则整理

南鸢离梦的博客
南鸢离梦的博客原创
2019年12月24日 10:50:40780浏览
  1. if(!preg_match("/^1[345678]\d{9}$/", $data['phone'])){
  2. return json(['code'=>0,'msg'=>'手机号码格式不正确']);
  3. }
  4. if(!preg_match("/^[a-z\d]*$/i",$data['pass'])){
  5. return json(['code'=>0,'msg'=>'密码只能包含数字和字母']);
  6. }
  7. 字符串过滤所有非英语字符和特殊符号仅保留英语字符,数字和空格:
  8. $string = "abcd23uo*&* (.字符串过";preg_match_all("/[\w\s]/i", $string, $matches);
  9. print_r(implode('', $matches[0]));
  10. 字符串过滤所有非中文字符:
  11. $string = "abcd23uo*&* (.字符串过";preg_match_all("/([\x{4e00}-\x{9fa5}])/u", $string, $matches);
  12. print_r(implode('', $matches[0]));
  13. 表单验证匹配
  14. 验证账号,字母开头,允许 5-16 字节,允许字母数字下划线:^[a-zA-Z][a-zA-Z0-9_]{4,15}$
  15. 验证账号,不能为空,不能有空格,只能是英文字母:^\S+[a-z A-Z]$
  16. 验证账号,不能有空格,不能非数字:^\d+$
  17. 验证用户密码,以字母开头,长度在 6-18 之间:^[a-zA-Z]\w{5,17}$
  18. 验证是否含有 ^%&',;=?$\ 等字符:[^%&',;=?$\x22]+
  19. 匹配Email地址:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
  20. 匹配腾讯QQ号:[1-9][0-9]{4,}
  21. 匹配日期,只能是 2004-10-22 格式:^\d{4}\-\d{1,2}-\d{1,2}$
  22. 匹配国内电话号码:^\d{3}-\d{8}|\d{4}-\d{7,8}$
  23. 评注:匹配形式如 010-12345678 0571-12345678 0831-1234567
  24. 匹配中国邮政编码:^[1-9]\d{5}(?!\d)$
  25. 匹配身份的证:\d{14}(\d{4}|(\d{3}[xX])|\d{1})
  26. 评注:中国的身份的证为 15 位或 18
  27. 不能为空且二十字节以上:^[\s|\S]{20,}$
  28. 字符匹配
  29. 匹配由 26 个英文字母组成的字符串:^[A-Za-z]+$
  30. 匹配由 26 个大写英文字母组成的字符串:^[A-Z]+$
  31. 匹配由 26 个小写英文字母组成的字符串:^[a-z]+$
  32. 匹配由数字和 26 个英文字母组成的字符串:^[A-Za-z0-9]+$
  33. 匹配由数字、26个英文字母或者下划线组成的字符串:^\w+$
  34. 匹配空行:\n[\s| ]*\r
  35. 匹配任何内容:[\s\S]*
  36. 匹配中文字符:[\x80-\xff]+ 或者 [\xa1-\xff]+
  37. 只能输入汉字:^[\x80-\xff],{0,}$
  38. 匹配双字节字符(包括汉字在内):[^\x00-\xff]
  39. 匹配数字
  40. 只能输入数字:^[0-9]*$
  41. 只能输入n位的数字:^\d{n}$
  42. 只能输入至少n位数字:^\d{n,}$
  43. 只能输入m-n位的数字:^\d{m,n}$
  44. 匹配正整数:^[1-9]\d*$
  45. 匹配负整数:^-[1-9]\d*$
  46. 匹配整数:^-?[1-9]\d*$
  47. 匹配非负整数(正整数 + 0):^[1-9]\d*|0$
  48. 匹配非正整数(负整数 + 0):^-[1-9]\d*|0$
  49. 匹配正浮点数:^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$
  50. 匹配负浮点数:^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$
  51. 匹配浮点数:^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$
  52. 匹配非负浮点数(正浮点数 + 0):^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$
  53. 匹配非正浮点数(负浮点数 + 0):^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$
  54. 其他
  55. 匹配HTML标记的正则表达式(无法匹配嵌套标签):<(\S*?)[^>]*>.*?</\1>|<.*? />
  56. 匹配网址 URL :[a-zA-z]+://[^\s]*
  57. 匹配 IP 地址:((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)
  58. 匹配完整域名:[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+\.?
  59. 通往牛逼的路上,在意的只有远方!
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议