JavaScript正则表达式实战:从基础到高级应用
需积分: 9 172 浏览量
更新于2024-07-20
收藏 284KB PDF 举报
"正则表达式相关实战技巧和应用场景"
正则表达式是编程语言中用于处理字符串的强大工具,能够进行复杂的模式匹配、查找、替换等操作。在JavaScript中,正则表达式尤为常用,本资源集合了多个实战示例,涵盖了从基础到进阶的多种应用场景。
1. **匹配结尾的数字**:
使用`\d+$`正则表达式可以匹配字符串末尾的连续数字。例如:`30CAC0040`和`3SFASDF92`,最后的`40`和`92`会被匹配。
2. **统一空格个数**:
当字符串中有不一致的空格数量时,可以使用`\s+`正则来匹配所有连续的空格,并用`replace()`函数替换为一个空格。例如,将多行文本合并为单行。
3. **判断字符串是否全由数字组成**:
可以使用正则`^\d+$`来检查字符串是否完全由数字组成。如果整个字符串都符合这个模式,那么它就是全数字的。
4. **电话号码正则**:
正则表达式可能因地区而异,但通常会包括数字、破折号或括号。例如,美国电话号码的常见正则可能是`\d{3}-\d{3}-\d{4}`。
5. **手机号码正则**:
各国的手机号码格式不同,中国手机号码一般为11位数字,如`\d{11}`,但也可以加入更多限制,如`^1[3-9]\d{9}$`,确保以1开头且排除130-139等老号段。
6. **删除字符串中的空格**:
使用`/\s+/g`正则可以全局匹配并删除所有空格。
7. **限制文本框输入**:
例如,只允许输入数字和小数点,可以使用`/^[0-9]+(\.[0-9]+)?$/`的正则。
8. **替换小数点前内容**:
若要替换小数点前的内容,可以先找到数字和小数点,然后替换前部,例如`/(.*?\.)/`。
9. **只匹配中文的正则**:
`[\u4e00-\u9fa5]`用来匹配单个中文字符。
10. **返回字符串的中文字符个数**:
通过遍历字符串并用上述中文正则测试每个字符,可计算中文字符数量。
11. **匹配IP地址前三段**:
使用`\d+\.\d+\.\d+`可以匹配IP地址前三部分。
12. **匹配HTML标签内容**:
例如,`/<ul>(.*?)<\/ul>/s`可以抓取`<ul>`与`</ul>`之间的所有内容。
13. **获取文件名**:
使用`/(\/|\\)([^\/\\]+)$/`可以从URL或路径中提取文件名。
14. **绝对路径转相对路径**:
这通常涉及字符串处理而非正则,但正则可以帮助去除路径中的某些部分。
15. **用户名正则**:
用户名通常限制为字母、数字和下划线,如`/^[a-zA-Z0-9_]+$/`。
16. **匹配英文地址**:
英文地址通常包含字母、数字、空格和逗号,正则可能包括`/^[A-Za-z0-9\s,]+$/`。
17. **匹配价格**:
匹配带有货币符号的价格,如`/\$\d+(\.\d+)?/`。
18. **身份证号码匹配**:
身份证号码有特定的规则,例如中国大陆的身份证号为18位,可以使用`^\d{15}|\d{18}$`。
19. **单词首字母大写**:
使用正则配合`toUpperCase()`和`slice()`可以实现。
20. **验证日期格式**:
如`/^\d{4}-\d{2}-\d{2}$/`可匹配`YYYY-MM-DD`格式。
21. **去掉文件后缀名**:
`/(.*?)[.][^.]+$/$1/`可用于移除文件名的后缀。
22. **匹配源代码链接**:
识别HTML中的`<a>`标签并提取其href属性,如`/<a\s+(?:[^>]*?\s+)?href=(["'])(.*?)\1/gi`。
23. **判断标签是否闭合**:
通过正则检查标签是否正确关闭,如`/<(\/)?([a-zA-Z][a-zA-Z0-9]*)\b[^>]*>/`。
24. **获取指定标签内容**:
使用正则匹配标签内的文本,例如`/<tag>(.*?)<\/tag>/s`。
25. **数字与字母混合**:
`/[a-zA-Z0-9]+/`可以匹配字母和数字的组合。
26. **空格与英文共存**:
如果希望保留英文单词间的空格,可以用`\b`边界匹配。
27. **显示或保存匹配内容**:
`match()`或`exec()`方法可以获取匹配的结果。
28. **正则替换变量**:
用`replace()`方法结合正则表达式替换字符串中的特定变量。
以上仅为部分示例,正则表达式的应用广泛且灵活,可以解决许多字符串处理问题。掌握正则表达式对于提升编程技能至关重要。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2010-12-20 上传
2023-10-12 上传
点击了解资源详情
点击了解资源详情
2024-11-25 上传
我可能是个假开发
- 粉丝: 534
- 资源: 2
最新资源
- 正整数数组验证库:确保值符合正整数规则
- 系统移植工具集:镜像、工具链及其他必备软件包
- 掌握JavaScript加密技术:客户端加密核心要点
- AWS环境下Java应用的构建与优化指南
- Grav插件动态调整上传图像大小提高性能
- InversifyJS示例应用:演示OOP与依赖注入
- Laravel与Workerman构建PHP WebSocket即时通讯解决方案
- 前端开发利器:SPRjs快速粘合JavaScript文件脚本
- Windows平台RNNoise演示及编译方法说明
- GitHub Action实现站点自动化部署到网格环境
- Delphi实现磁盘容量检测与柱状图展示
- 亲测可用的简易微信抽奖小程序源码分享
- 如何利用JD抢单助手提升秒杀成功率
- 快速部署WordPress:使用Docker和generator-docker-wordpress
- 探索多功能计算器:日志记录与数据转换能力
- WearableSensing: 使用Java连接Zephyr Bioharness数据到服务器