JavaScript正则表达式实战:匹配数字,统一空格,电话与手机验证
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编程能力的重要一步。
2018-03-12 上传
2022-06-11 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
2018-11-23 上传
2011-04-15 上传
点击了解资源详情
weixin_38660069
- 粉丝: 2
- 资源: 945
最新资源
- JHU荣誉单变量微积分课程教案介绍
- Naruto爱好者必备CLI测试应用
- Android应用显示Ignaz-Taschner-Gymnasium取消课程概览
- ASP学生信息档案管理系统毕业设计及完整源码
- Java商城源码解析:酒店管理系统快速开发指南
- 构建可解析文本框:.NET 3.5中实现文本解析与验证
- Java语言打造任天堂红白机模拟器—nes4j解析
- 基于Hadoop和Hive的网络流量分析工具介绍
- Unity实现帝国象棋:从游戏到复刻
- WordPress文档嵌入插件:无需浏览器插件即可上传和显示文档
- Android开源项目精选:优秀项目篇
- 黑色设计商务酷站模板 - 网站构建新选择
- Rollup插件去除JS文件横幅:横扫许可证头
- AngularDart中Hammock服务的使用与REST API集成
- 开源AVR编程器:高效、低成本的微控制器编程解决方案
- Anya Keller 图片组合的开发部署记录