JavaScript正则表达式实战指南
需积分: 9 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()`等方法,来实现更复杂的逻辑。
2024-04-08 上传
2023-05-14 上传
2023-06-03 上传
2023-02-06 上传
2023-08-14 上传
2023-07-20 上传
boboTeacher
- 粉丝: 1
- 资源: 18
最新资源
- 明日知道社区问答系统设计与实现-SSM框架java源码分享
- Unity3D粒子特效包:闪电效果体验报告
- Windows64位Python3.7安装Twisted库指南
- HTMLJS应用程序:多词典阿拉伯语词根检索
- 光纤通信课后习题答案解析及文件资源
- swdogen: 自动扫描源码生成 Swagger 文档的工具
- GD32F10系列芯片Keil IDE下载算法配置指南
- C++实现Emscripten版本的3D俄罗斯方块游戏
- 期末复习必备:全面数据结构课件资料
- WordPress媒体占位符插件:优化开发中的图像占位体验
- 完整扑克牌资源集-55张图片压缩包下载
- 开发轻量级时事通讯活动管理RESTful应用程序
- 长城特固618对讲机写频软件使用指南
- Memry粤语学习工具:开源应用助力记忆提升
- JMC 8.0.0版本发布,支持JDK 1.8及64位系统
- Python看图猜成语游戏源码发布