正则表达式(Regular Expression,在代码中常简写为regex、regexp或RE)是由普通字符(大小写的字母和数字)以及特殊字符(称为元字符)组成的描述特定规则的字符串。常用于在文本中匹配字符串。
Get正则三两条,少写代码翻一番!
-
校验密码强度 必须是<大小写字母+数字>,不能使用特殊字符,长度在6到16位之间
^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z]).{6,16}$
-
校验中文 字符串只能是中文
^[\\u4e00-\\u9fa5]{0,}$
-
由<数字+26个英文字母+下划线>组成的字符串
^\\w+$
-
校验E-Mail 地址
[\\w!#$%&'*+/=?^_`{|}~-]+(?:\\.[\\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\\w](?:[\\w-]*[\\w])?\\.)+[\\w](?:[\\w-]*[\\w])?
-
校验身份证号码
- 18位:
^[1-9]\\d{5}[1-9]\\d{3}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])\\d{3}([0-9]|X)$
- 15位:
^[1-9]\\d{7}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])\\d{3}$
- (15位、18位数字):
^\d{15}|\d{18}$
-
校验日期 “yyyy-mm-dd“ 平闰年都可用
^(?:(?!0000)[0-9]{4}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)-02-29)$
-
校验小数 小数点3位
^[0-9]+(.[0-9]{3})?$
-
校验手机号 国内 13、14、15、18开头
^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\\d{8}$
-
URL链接提取
^(f|ht){1}(tp|tps):\\/\\/([\\w-]+\\.)+[\\w-]+(\\/[\\w- ./?%&=]*)?
-
提取Color Hex Codes
^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$
-
提取网页图片
\\< *[img][^\\\\>]*[src] *= *[\\"\\']{0,1}([^\\"\\'\\ >]*)
-
提取页面超链接
(<a\\s*(?!.*\\brel=)[^>]*)(href="https?:\\/\\/)((?!(?:(?:www\\.)?'.implode('|(?:www\\.)?', $follow_list).'))[^"]+)"((?!.*\\brel=)[^>]*)(?:[^>]*)>
-
查找CSS属性
^\\s*[a-zA-Z\\-]+\\s*[:]{1}\\s[a-zA-Z0-9\\s.#]+[;]{1}
-
抽取注释
<!--(.*?)-->
-
匹配HTML标签
<\\/?\\w+((\\s+\\w+(\\s*=\\s*(?:".*?"|'.*?'|[\\^'">\\s]+))?)+\\s*|\\s*)\\/?>
-
汉字
^[\u4e00-\u9fa5]{0,}$
-
中文字符的正则表达式
[\u4e00-\u9fa5]
-
空白行的正则表达式 (可以用来删除空白行)
\n\s*\r
-
腾讯QQ号 10000开始
[1-9][0-9]{4,}
-
中国邮政编码
[1-9]\d{5}(?!\d) (中国邮政编码为6位数字) 33 IP地址:\d+\.\d+\.\d+\.\d+ (提取IP地址时有用) 34 IP地址:((?:(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d))
-
禁止输入含有~的字符
[^~\x22]+
-
Email地址
^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$
最后推荐一个网站https://regexr.com/,这个网站可以称得上是非常强大的了,若是正则新手拿来学习练习正则也是非常不错的。
- 悬浮气泡解释本条规则所能匹配的字符串
- 匹配结果对应的解释
- 右侧边栏是正则的规范
![](https://img.haomeiwen.com/i1006895/1afd5d41d9387b86.png)
网友评论