经典JavaScript正则表达式实战
### 经典JavaScript正则表达式实战知识点解析 #### 匹配结尾的数字 在JavaScript中,如果需要从一个字符串中提取出以数字结尾的部分,可以利用正则表达式来实现这一目标。例如,从字符串`30CAC0040`中提取`40`,或从`3SFASDF92`中提取`92`。 **正则表达式**:`/\d+$/g` - **解释**: - `\d+`:匹配一个或多个数字。 - `$`:表示字符串的结尾。 - `/g`:全局匹配标志,确保找到所有匹配项而不仅仅是第一个。 **示例代码**: ```javascript var str = "30CAC0040"; var result = str.match(/\d+$/g); // 返回["40"] ``` #### 统一空格个数 有时我们需要统一字符串内的空格数量。例如,将`"蓝 色 理 想"`变为`"蓝色理想"`。 **正则表达式**:`/\s+/g` - **解释**: - `\s+`:匹配一个或多个空白字符(包括空格、制表符等)。 - `/g`:全局匹配标志。 **示例代码**: ```javascript var str = "蓝\n色\t理\n想"; var result = str.replace(/\s+/g, " "); console.log(result); // 输出:"蓝色理想" ``` #### 判断字符串是不是由数字组成 判断一个字符串是否完全由数字组成可以使用以下正则表达式。 **正则表达式**:`/^\d*$/` - **解释**: - `^\d*`:从字符串的开始位置(`^`)匹配零个或多个数字。 - `$`:直到字符串的结尾位置。 **示例代码**: ```javascript function isDigit(str) { var reg = /^\d*$/; return reg.test(str); } var str1 = "12345"; var str2 = "abc123"; console.log(isDigit(str1)); // 输出:true console.log(isDigit(str2)); // 输出:false ``` #### 电话号码正则 为了验证电话号码的有效性,我们可以定义一个正则表达式,该表达式能够匹配不同格式的电话号码,包括带有区号和分机号的情况。 **正则表达式**:`/^\d{3,4}-\d{7,8}(-\d{3,4})?$/` - **解释**: - `^\d{3,4}-`:匹配3到4位的区号,后面跟着一个连字符。 - `\d{7,8}`:匹配7到8位的电话号码。 - `(-\d{3,4})?`:匹配可选的分机号,分机号由一个连字符和3到4位数字组成。 - `$`:表示字符串的结尾。 **示例代码**: ```javascript function isValidPhone(phone) { var reg = /^\d{3,4}-\d{7,8}(-\d{3,4})?$/; return reg.test(phone); } console.log(isValidPhone("010-12345678")); // 输出:true console.log(isValidPhone("010-12345678-123")); // 输出:true console.log(isValidPhone("010-1234567")); // 输出:false ``` #### 手机号码正则表达式 对于手机号码的验证,我们通常需要确保其格式符合标准,即11位数字,并且以13或15开头。 **正则表达式**:`/^0*(13|15)\d{9}$/` - **解释**: - `^0*`:匹配字符串开始位置的零个或多个0。 - `(13|15)`:匹配以13或15开头的手机号。 - `\d{9}`:匹配后面的9位数字。 - `$`:表示字符串的结尾。 **示例代码**: ```javascript function isValidMobile(phone) { var reg = /^0*(13|15)\d{9}$/; return reg.test(phone); } console.log(isValidMobile("13889294444")); // 输出:true console.log(isValidMobile("12889293333")); // 输出:false console.log(isValidMobile("013889294444")); // 输出:true ``` #### 使用正则表达式实现删除字符串中的空格 在JavaScript中,删除字符串中的空格可以使用简单的正则表达式来实现。 **正则表达式**:`/\s+/g` - **解释**: - `\s+`:匹配一个或多个空白字符。 - `/g`:全局匹配标志。 **示例代码**: ```javascript function trim(str) { return str.replace(/\s+/g, ""); } var str = " hello world "; console.log(trim(str)); // 输出:"helloworld" ``` 以上就是从给定文件的部分内容中抽取并解析的一些关键知识点。这些知识点覆盖了正则表达式的基本应用,可以帮助开发者快速掌握如何在实际项目中运用正则表达式进行字符串处理。
- 粉丝: 40
- 资源: 8
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 工作流-OA-低代码表单的 前端工程,基于 Activiti7 Vue3 TS ElementPlus Vite,支持三种布局
- 软考冲刺:计算机技术与软件专业技术资格基础教程
- 泰迪杯数据技能大赛题目word版
- experiment-demo.zip
- HarmonyOs实战项目=>App首页架构沉浸式效果
- 课程考试系统开发基础教程
- 已测价值299元最新升级版Xiuno Light(修罗·轻鸿)v3.3 - 修罗论坛程序主题
- Delphi XE 10.3 Demo 文件
- 基于SpringBoot + Vue3 + TypeScript + Vite的个人前后端分离博客
- H5幸运刮刮乐抽奖 免公众号+直运营