
正则表达式-美化版
发布日期:2021-05-14 05:41:31
浏览次数:20
分类:精选文章
本文共 2845 字,大约阅读时间需要 9 分钟。
正则表达式是前端开发中极为强大的工具,能够通过简短的代码实现复杂的文本处理逻辑。熟练掌握正则表达式能够显著提升开发效率。
1. 校验密码强度
密码需包含大小写字母和数字,长度在8-10个字符之间。
^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$
2. 校验中文
确保字符串仅包含中文字符。
^[\\u4e00-\\u9fa5]{0,}$
3. 由数字、字母或下划线组成的字符串
匹配包含字母、数字和下划线的字符串。
^\\w+$
4. 校验电子邮件地址
验证常见电子邮件格式,包含本地部分和域名。
[\\w!#$%&'*+/=?^_`{|}~-]+(?:\\.[\\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\\w](?:[\\w-]*[\\w])?\\.)+[\\w](?:[\\w-]*[\\w])?
5. 校验身份证号码
支持15位和18位身份证号码验证。
^[1-9]\\d{7}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])\\d{3}$`
6. 校验日期
精确验证“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)$
7. 校验金额
精确到两位小数的金额验证。
^[0-9]+(\\.[0-9]{2})?$`
8. 校验手机号
验证国内常见手机号格式(13、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}$
9. 判断IE版本
检测IE浏览器的版本信息。
^.*MSIE [5-8](?:\\.[0-9]+)?(?!.*Trident\\/[5-9]\\.0).*$`
10. 校验IP-v4地址
验证标准的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
11. 校验IP-v6地址
验证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}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))
12. 检查URL前缀
判断URL是否以HTTP或HTTPS开头。
if (!s.match(/^[a-zA-Z]+:\\/\\/)){ s = 'http://' + s;}
13. 提取URL链接
从文本中提取出完整的URL链接。
^(f|ht){1}(tp|tps):\\/\\/([\\w-]+\\.)+[\\w-]+(\\/\\/[\\w- ./?%&=]*)?
14. 校验文件路径及扩展名
验证Windows文件路径和扩展名(如.txt文件)。
^([a-zA-Z]\\:|\\\\)\\\\([^\\\\]+\\\\)*[^\\/:*?"<>|]+\\.txt(l)?$
15. 提取Color Hex Codes
匹配十六进制颜色代码。
^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$
16. 提取网页图片
从HTML中提取图片标签的src属性。
& *[img][^\\>]*[src] *= *[\\"\\']{0,1}([^\\\"\\'\\ >]*)`
17. 提取页面超链接
从HTML中提取所有超链接。
( ]*)(href="https?:\\/\\/)((?!(?:(?:www\\.)?'.implode('|(?:www\\.)?', $follow_list).'))[^"]+)"((?!.*\\brel=)[^>]*)(?:[^>]*)>
18. 查找CSS属性
匹配CSS属性及其值。
^\\s*[a-zA-Z\\-]+\\s*[:]{1}\\s[a-zA-Z0-9\\s.#]+[;]{1}
19. 抽取注释
提取HTML注释内容。
20. 匹配HTML标签
匹配HTML标签及其属性。
<>\\/?\\w+((\\s+\\w+(\\s*=\\s*(?:".*?"|'.*?'|[\\^'">\\s]+))?)+\\s*|\\s*)\\/?>
正则表达式语法参考
以下是正则表达式的基本语法指南,供参考:
^
:匹配字符串的开头$
:匹配字符串的结尾.
:匹配任意字符(注意在特殊字符前需转义)\w
:匹配字母、数字和下划线\d
:匹配数字[a-z]
:匹配特定字符范围{n,m}
:匹配重复次数(n到m次)*
:重复任意次(0次或更多)?
:重复0次或1次( )
:组合|
:或\s
:匹配任意空白字符\S
:不匹配空白字符
通过这些正则表达式,可以实现各种文本处理任务,从简单的格式验证到复杂的数据提取。