JavaScript正则表达式实战:匹配数字,统一空格,电话与手机验证

0 下载量 178 浏览量 更新于2024-07-15 收藏 168KB PDF 举报
"经典JavaScript正则表达式实战(附pdf) 涵盖了JavaScript中的正则表达式应用,包括匹配结尾的数字、统一空格个数、判断字符串是否全由数字组成以及电话号码和手机号码的正则验证。" 在JavaScript编程中,正则表达式是一种强大的工具,用于文本匹配和操作。以下是一些关键知识点: 1. **匹配结尾的数字** 在JavaScript中,使用正则表达式`/\d+$/g`可以匹配字符串末尾的连续数字。`/d`是数字的特殊字符类,`+`表示匹配一个或多个数字,`$`确保匹配的是字符串的结尾,而`g`标志则表示全局搜索,即找到所有匹配项,而不仅仅是第一个。 示例: ```javascript var str = "30CAC0040"; var match = str.match(/\d+$/); console.log(match[0]); // 输出 "40" ``` 2. **统一空格个数** 如果需要将字符串中的多个连续空格替换为单个空格,可以使用正则表达式`/\s+/g`配合`replace()`方法。`/s+`匹配一个或多个空白字符(包括空格、制表符、换页符等)。 示例: ```javascript var str = "蓝 色 理 想"; str = str.replace(/\s+/g, " "); console.log(str); // 输出 "蓝 色 理 想" ``` 3. **判断字符串是否全由数字组成** 若要检测字符串是否只包含数字,可以使用正则表达式`/^\d*$/`,其中`^`表示字符串的开始,`\d*`匹配零个或多个数字,`$`表示字符串的结束。 示例: ```javascript function isDigit(str) { var reg = /^\d*$/; return reg.test(str); } console.log(isDigit("7654321")); // 输出 true console.log(isDigit("test")); // 输出 false ``` 4. **电话号码的正则验证** 验证电话号码通常需要考虑区号、电话号码主体以及可选的分机号。例如,一个简单的电话号码正则表达式可以是`/^\d{3,4}-\d{7,8}(-\d{3,4})?$/`,它要求区号为3-4位,电话号码为7-8位,分机号为可选的3-4位。 示例: ```javascript var phoneRegex = /^\d{3,4}-\d{7,8}(-\d{3,4})?$/; console.log(phoneRegex.test("123-4567890")); // 输出 true console.log(phoneRegex.test("1234-5678901-234")); // 输出 true console.log(phoneRegex.test("12345-678")); // 输出 false ``` 5. **手机号码正则验证** 对于手机号码的验证,通常要排除开头的0并确保是11位数字。例如,`/^0*(13|15)\d{9}$/`匹配13或15开头,去掉前导0后是11位数字的号码。 示例: ```javascript var mobileRegex = /^0*(13|15)\d{9}$/; console.log(mobileRegex.test("01312345678")); // 输出 true console.log(mobileRegex.test("15812345678")); // 输出 true console.log(mobileRegex.test("0150123456789")); // 输出 false ``` 这些例子展示了JavaScript正则表达式的广泛应用,它们在处理字符串数据时非常有用,可以进行复杂的文本匹配、替换和验证操作。学习和熟练掌握正则表达式是提升JavaScript编程能力的重要一步。