JavaScript正则表达式实战指南

需积分: 9 0 下载量 150 浏览量 更新于2024-07-30 收藏 284KB PDF 举报
"经典JavaScript正则表达式实战案例分享" JavaScript中的正则表达式是一种强大的文本处理工具,可以用于搜索、替换、提取等操作。以下是一系列经典的正则表达式实战应用,涵盖了各种常见场景。 1. **匹配结尾的数字** 使用正则表达式`/\d+$/g`,可以找出字符串末尾的一组数字。例如,从"30CAC0040"和"3SFASDF92"中分别取出"40"和"92"。 2. **统一空格个数** 通过正则表达式`/\s+/g`,可以将字符串中的连续空格统一替换为一个空格,从而达到统一空格数量的效果。例如,将"蓝色\n理想"转换为"蓝色理想"。 3. **判断字符串是否全由数字组成** 正则表达式`/^\d+$`可用于检测字符串是否仅包含数字,如果符合,则表示字符串由数字组成。 4. **电话号码正则** 电话号码的格式各异,但通常包含数字和可能的特殊字符(如区号)。一个简单的电话号码正则可能如下:`/^\d{3}-\d{8}$|^\d{4}-\d{7}$/`,匹配如"123-4567890"或"1234-5678901"的格式。 5. **手机号码正则** 手机号码的正则表达式可能更复杂,考虑中国的11位手机号码,可以使用`/^1[3-9]\d{9}$/`,匹配以1开头,中间是3到9的任意数字,最后是9位数字的手机号。 6. **删除字符串中的空格** 使用`/\s+/g`可以匹配并删除所有空格,如`"string with spaces".replace(/\s+/g, "")`会得到"stringwithspaces"。 7. **限制输入格式** 若要限制文本框只能输入数字和小数点,可以使用正则校验如`/^\d+(\.\d+)?$`,允许整数或带有小数点的数字。 8. **替换小数点前内容** 若要替换小数点前的内容,可以使用`/(^|\D+)\d+(\.\d+)?/`,然后用替换函数替换第一组匹配的内容。 9. **匹配中文** 要匹配中文字符,可以使用`/[\u4e00-\u9fa5]/`,该正则会匹配所有中文字符。 10. **获取中文字符个数** 使用`/[\u4e00-\u9fa5]/g`匹配所有中文字符,然后计算匹配结果的长度。 11. **匹配IP地址前三段** 对于IP地址前三段的匹配,正则表达式可以是`/(\d{1,3}\.){2}\d{1,3}/`。 12. **匹配HTML标签内容** 使用`/<ul>(.*?)<\/ul>/s`可以匹配`<ul>`与`</ul>`之间的内容。 13. **提取文件名** 要从URL或路径中提取文件名,可以使用`/[^\/\\]+(?=\.\w+$|$)/`。 14. **绝对路径转相对路径** 这需要更复杂的解析,一般需通过编程逻辑实现,正则可能无法完全解决。 15. **其他示例** 包括匹配英文地址、价格、身份证号码、验证日期格式、去掉文件后缀、匹配源代码链接、标签闭合判断、获取指定标签内容、数字字母混合判断、空格与英文共存、正则匹配部分、替换变量、替换属性文本、阿拉伯数字转中文大写、URL转链接、删除指定标签及内容、文本分段、转换标签、添加属性双引号、添加`tbody`、去掉标签属性、替换特定单词、高亮显示、删除标签等,这些场景都涉及不同的正则表达式,根据具体需求进行定制。 这些实例展示了JavaScript正则表达式的广泛用途,熟练掌握它们能极大提升文本处理的效率和精度。在实际应用中,应结合具体的业务场景灵活运用,并可能需要结合JavaScript的其他功能,如字符串的`replace()`、`match()`、`search()`等方法,来实现更复杂的逻辑。