"这是一份收集自网络的JavaScript常用正则表达式的集合,适用于各种字符串验证和处理场景。"
在JavaScript中,正则表达式是一种强大的工具,用于匹配、查找、替换和验证文本字符串。以下是一些常见的JavaScript正则表达式及其用途:
1. `^\d+\.{0,1}\d{0,2}$` - 用于匹配带有1-2位小数的数字,例如:123.45或123。
2. `^\d*$` - 匹配任何只包含数字的字符串,无小数点。
3. `^\d{n}$` - 匹配长度为n的数字字符串,例如`^\d{5}$`会匹配5位数字组成的字符串。
4. `^\d{n,}$` - 匹配长度至少为n的数字字符串,例如`^\d{3,}$`会匹配至少3位数字的字符串。
5. `^\d{m,n}$` - 匹配长度在m到n之间的数字字符串,例如`^\d{3,5}$`会匹配3到5位数字的字符串。
6. `^(0|[1-9][0-9]*)$` - 匹配非负整数,包括零。
7. `^[0-9]+(.[0-9]{2})?$` - 匹配至少一位整数,可选的小数点后跟两位小数,如123.45或123。
8. `^[0-9]+(.[0-9]{1,3})?$` - 匹配至少一位整数,可选的小数点后跟1到3位小数,如123.4或123.456。
9. `^\+?[1-9][0-9]*$` - 匹配非零开头的整数,可以有前导加号。
10. `^\-[1-9][0-9]*$` - 匹配非零开头的负整数,例如-123。
11. `^.{3}$` - 匹配任何长度为3的字符串。
12. `^[A-Za-z]+$` - 匹配仅由26个小写字母组成的字符串。
13. `^[A-Z]+$` - 匹配仅由26个大写字母组成的字符串。
14. `^[a-z]+$` - 匹配仅由26个小写字母组成的字符串。
15. `^[A-Za-z0-9]+$` - 匹配仅由26个字母和0-9数字组成的字符串。
16. `^\w+$` - 同上,等价于`^[A-Za-z0-9_]$`,匹配字母、数字和下划线的组合。
17. `^[a-zA-Z]\w{5,17}$` - 验证密码,至少6至18个字符,首字母必须是字母,其余可包含字母、数字和下划线。
18. `^[^%&',;=?$\x22]+` - 匹配不包含特殊字符`%&',;=?$"`的字符串。
19. `^[\u4e00-\u9fa5]{0,}$` - 匹配任意长度的中文字符序列。
20. `^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$` - 验证电子邮件地址格式。
21. `^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$` - 验证互联网URL格式。
22. `^(\(\d{3,4}-)|\d{3,4}-)?\d{7,8}$` - 验证电话号码格式,支持"XXX-XXXXXXX"、"XXXX-XXXXXXXX"、"XXX-XXXXXXX"、"XXX-XXXXXXXX"、"XXXXXXX"、"XXXXXXXX"。
23. `^\d{15}|\d{18}$` - 验证15位或18位的身份证号。
24. `^(0?[1-9]|1[0-2])$` - 验证月份,01到12。
25. `^((0?[1-9])|((1|2)[0-9])|30|31)$` - 验证日期,01到31,考虑了闰年。
在JavaScript中,可以通过字符串对象的`match()`、`test()`、`replace()`和`search()`方法来使用这些正则表达式。例如,使用`str.match(regexp)`来查找匹配的字符串,`str.test(regexp)`来判断是否匹配,`str.replace(regexp, replacement)`来替换匹配的部分,以及`str.search(regexp)`来找到第一次出现匹配的位置。
对于中文字符的长度计算,可以使用如`str.replace(/[^\x00-\xff]/g, "aa").length`的方法,将非ASCII字符替换为两个"a",然后计算字符串长度,从而得到包含中文字符的实际长度。
HTML标签的去除可以使用正则表达式`/<(.*)>(.*)<\/(.*)>|<(.*)\/>/`,而去除字符串两端空格可以使用`(^[\s]*|[\s]*$)`,在JavaScript中使用`str.trim()`方法也能达到相同效果。对于去除多个连续换行符,可以使用`/\s+/g`,并用空格替换。JavaScript的正则表达式提供了强大的字符串处理能力,使得开发者能够高效地处理各种文本数据。