JavaScript正则表达式实战:匹配、统一空格、数字检测与电话号码验证

1 下载量 138 浏览量 更新于2024-07-15 收藏 168KB PDF 举报
"经典JavaScript正则表达式实战(附pdf)——包含各种正则表达式实例,用于匹配、替换和验证文本" 在JavaScript中,正则表达式是一种强大的工具,用于处理字符串,包括查找、替换和提取特定模式的文本。在提供的部分内容中,我们看到了几个实用的正则表达式示例,下面将详细解释这些知识点。 1. **匹配结尾的数字** 正则表达式 `/\d+$/g` 用于匹配字符串末尾的一个或多个连续数字。`$` 表示字符串的结束,`\d` 是匹配任何数字的特殊字符,`+` 表示前面的元素可以出现一次或多次,`g` 是全局标志,意味着在整个字符串中搜索,而不仅仅是第一个匹配项。 2. **统一空格个数** 使用 `/\s+/g` 可以匹配一个或多个连续的空格,并用 `str.replace(reg, "")` 进行替换。这里的 `\s` 是匹配任何空白字符(包括空格、制表符、换页符等)的特殊字符,`+` 意味着可以连续出现多个,`g` 标志确保所有匹配都被替换。 3. **判断字符串是否由数字组成** 函数 `isDigit(str)` 使用正则表达式 `/^\d*$/` 来检查字符串是否只包含数字。`^` 表示字符串的开始,`\d*` 匹配零个或多个数字,`$` 表示字符串的结束。`test()` 方法用于测试字符串是否符合正则表达式的模式。 4. **电话号码正则** 电话号码的正则表达式 `/^\d{3,4}-\d{7,8}(-\d{3,4})?$/` 分为几部分: - `^\d{3,4}` 匹配3到4位的区号,`^` 表示字符串开始。 - `-` 是字面量的破折号。 - `\d{7,8}` 匹配7到8位的电话号码。 - `(-\d{3,4})?` 是一个可选的分机号,`\d{3,4}` 匹配3到4位数字,前面的 `(-` 和 `)?` 表示分机号是可选的,且如果存在,必须以破折号开始。 5. **手机号码正则** 手机号码的正则表达式 `/^0*(13|15)\d{9}$/` 设计用来匹配130-139和150-159开头的11位手机号码,忽略前面的0。`^0*` 匹配零个或多个开头的0,`(13|15)` 匹配13或15,`\d{9}` 匹配后面9位数字。 这些示例展示了JavaScript正则表达式在实际中的应用,从简单的文本处理到复杂的格式验证。理解并熟练使用正则表达式是JavaScript开发中的重要技能,能够帮助开发者高效地处理字符串数据。