本文共 2607 字,大约阅读时间需要 8 分钟。
正则表达式是一种强大的文本处理工具,能够通过简短的规则实现复杂的文本匹配和验证任务。无论是字段校验、字符串处理,还是提取特定模式信息,正则表达式都能发挥出其强大的能力。
密码应包含大小写字母和数字,且不含特殊字符,长度在8-10个字符之间。
^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$ 确保字符串仅包含中文字符。
^[^\u0000-\u001F\u007F-\u008F\u201C-\u2048\u2061-\u209F]{0,}$ 验证仅包含数字、字母或下划线的字符串。
^\w+$
验证常见E-Mail地址格式。
[\w!#$%&'()*+,\-./:;=?@[\]\\^_`{|}~]+(?:\.[\w!#$%&'()*+,\-./:;=?@[\]\\^_`{|}~]+)*@([\w-]{2,64}(\.[\w-]{2,64})?)\.([a-z]{2,})$ 15位或18位身份证号码的验证。
15位:
^[1-9]\d{7}(0\d|1[02])((0[1-9]|1[0-2])|\d{2})\d{3}$ 18位:
^[1-9]\d{5}[1-9]\d{3}(0\d|1[02])((0[1-9]|1[0-2])|\d{2})\d{3}[0-9X]$ 验证“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)$ 验证金额,精确到两位小数。
^[0-9]+(\.[0-9]{2})?$` 验证国内13、15、18开头的手机号。
^(13[0-9]|14[5|7]|15[012356789]|18[012356789])\d{8}$ 检测IE浏览器的版本。
.*MSIE [5-8](?:\.[0-9]+)?(?!.*Trident/[5-9]\.0).*
验证IPv4地址格式。
\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b 验证IPv6地址格式。
((?:[0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|(?:[0-9a-fA-F]{1,4}:){1,7}:|(?:[0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|(?:[0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|(?:[0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|(?:[0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|(?:[0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:(?:[0-9a-fA-F]{1,4}(:[0-9a-fA-F]{1,4})){1,6}|::(?:[0-9a-fA-F]{1,4}(:[0-9a-fA-F]{1,4})){1,7}|fe80:(?:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(?:ffff(?:[0-9]{4})?){0,1}:[0-9]{1,4})\.){3,3}(?:25[0-5]|(?:2[0-4]|1[0-9])?[0-9])|([0-9a-fA-F]{1,4}:(?:[0-9a-fA-F]{1,4}(:[0-9a-fA-F]{1,4}))){1,4}:[0-9a-fA-F]{1,4})\.){3,3}(?:25[0-5]|(?:2[0-4]|1[0-9])?[0-9])$ 检测URL是否以某些常见前缀开头。
if (!s.match(/^[a-zA-Z]+:/\/$/)) { s = 'http://' + s; } 提取URL链接。
^(f|ht){1}(tp|tps):\\/\\/([\\w-]+\\.)+[\\w-]+(\\/[\\w- ./?%&=]*)* 验证文件路径及扩展名。
^([a-zA-Z]\\:|\\\\)\\\\([^\\\\]+\\\\)*[^\\/:*?"<>|]+\\.txt(l)?$
提取颜色Hex代码。
^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$ 提取网页图片的src属性。
\\< *[img][^\\\\>]*[src] *= *[\\"\\']{0,1}([^\\"\\'\\ >]*)$ 提取网页页面中的超链接。
(//.*?\\\\/ (?: (?!.*\\\\brel=)[^><\\\\/]* (?:\\\\/)* (?:(?:(?:www\\.)?'.implode('|(?:www\\.)?', $follow_list).')) [^"]+) (?!.*\\\\brel=)[^>]* (?:[^>]*)>
匹配CSS属性。
^\\s*[a-zA-Z-]+\\s*:[^\\s]*$
提取HTML注释。
$
匹配HTML标签。
<\\/?\\w+((\\s+\\w+(\\s*=\\s*(?:".*?"|'.*?'|[\\^'">\\s]+))?)+\\s*|\\s*)\\/?>
作者:问君能有几多愁
原文链接:(待补充)转载地址:http://mclfz.baihongyu.com/