JavaScript 正则表达式完全指南

需积分: 12 0 下载量 87 浏览量 更新于2024-09-09 收藏 12KB TXT 举报
"正则表达式是编程语言中用于处理字符串的强大工具,尤其在JavaScript和Web开发中广泛应用。本文将详细介绍一系列常用的正则表达式模式及其用途,帮助开发者更好地理解和运用正则表达式进行数据验证和文本处理。" 1. **整数验证** - `\d`: 匹配任何数字,等同于`[0-9]`。 - `^[0-9]*$`: 验证字符串是否只包含整数,无小数点。 - `^\d{n}$`: 验证字符串是否为长度为`n`的整数。 - `^\d{n,}$`: 验证字符串是否至少为长度`n`的整数。 - `^\d{m,n}$`: 验证字符串是否长度在`m`到`n`之间的整数。 2. **浮点数验证** - `^[0-9]+\.{0,1}[0-9]{0,2}$`: 匹配最多两位小数的浮点数,如`123.45`或`123`。 - `^[0-9]+(.[0-9]{2})?$`: 类似于上面的模式,但允许小数点后没有数字,如`123.`。 - `^[0-9]+(.[0-9]{1,3})?$`: 匹配最多三位小数的浮点数。 3. **电话号码和身份证验证** - `^\+?[1-9][0-9]*$`: 验证国际电话号码,首位可选加号。 - `^\-[1-9][]0-9"*$`: 验证形如`-1234567890`的电话号码。 - `^\d{15}|\d{18}$`: 验证中国15位或18位身份证号码。 4. **字符长度限制** - `^.{3}$`: 验证字符串是否长度为3。 - `^[A-Za-z]+$`: 验证由小写字母组成的字符串,长度不限。 - `^[A-Z]+$`: 验证由大写字母组成的字符串,长度不限。 - `^[a-z]+$`: 验证由小写字母组成的字符串,长度不限。 - `^[A-Za-z0-9]+$`: 验证由字母和数字组成的字符串,长度不限。 - `^\w+$`: 等同于`^[A-Za-z0-9_]+$`,验证由字母、数字和下划线组成的字符串,长度不限。 5. **特殊字符和电子邮件** - `^[a-zA-Z]\w{5,17}$`: 验证符合邮箱用户名规则的字符串,长度6-18个字符,首字符为字母,其余为字母、数字或下划线。 - `[^%&',;=?$\"\\x22]+`: 验证不包含特殊字符的字符串。 - `^[\u4e00-\u9fa5]{0,}$`: 验证纯中文字符串。 - `^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$`: 验证电子邮件地址格式。 - `^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$`: 验证互联网URL。 6. **日期和时间验证** - `^(0?[1-9]|1[0-2])$`: 验证月份,支持1-12。 - `^((0?[1-9])|((1|2)[0-9])|30|31)$`: 验证日期,支持1-31,考虑了闰年二月。 7. **其他正则表达式技巧** - `[\s|]*\r`: 匹配任意数量的空格、制表符和换行符。 - `<(.*)>(.*)<\/(.*)>|<(.*)\/>`: 匹配HTML标签。 - `(^\s*)|(\s*$)`: 匹配字符串开头或结尾的空格。 - `[^\x00-\xff]`: 匹配非ASCII字符。 - `String.prototype.len=function(){return this.replace(/[^\x00-\xff]/g,"aa").length;}`: 计算字符串中非ASCII字符的长度,每个非ASCII字符计为2个字符长度。 通过理解和熟练应用这些正则表达式,开发者可以在JavaScript和Web开发中实现高效的数据验证、文本提取和格式化,提升代码质量和用户体验。
2024-11-04 上传