JavaScript正则表达式实战:电话、手机号、IP、邮箱等
需积分: 9 54 浏览量
更新于2024-10-18
收藏 284KB PDF 举报
"这篇文档是关于JavaScript中常用的正则表达式的实战应用,涵盖了多种常见的匹配和处理字符串的场景。"
正则表达式是编程中处理字符串的强大工具,尤其是在JavaScript中,它被广泛用于数据验证、文本提取和字符串操作。这份文档详细列举了一系列实用的正则表达式实例,包括:
1. **匹配结尾的数字**:使用正则表达式`/\d+$/g`,可以找到字符串末尾的一串数字。
2. **统一空格个数**:通过`/\s+/g`匹配并替换连续的多个空格,将其统一为单个空格,从而整理文本格式。
3. **判断字符串是否全由数字组成**:使用简单的正则`^\d+$`,可以检查字符串是否仅包含数字。
4. **电话号码正则**:通常用来验证中国大陆电话号码的格式,可能包括区号和号码部分,具体正则因地区和格式要求而异。
5. **手机号码正则表达式**:中国的手机号码通常为11位数字,如`^1[3-9]\d{9}$`,但实际应用中应根据具体规则进行调整。
6. **删除字符串中的空格**:使用`str.replace(/\s/g, "")`可以移除字符串中的所有空格。
7. **限制文本框输入**:正则可以限制用户输入,如`/^\d+(\.\d)?$`允许输入数字和小数点。
8. **替换小数点前内容**:例如,使用`str.replace(/(\d+(\.\d*)?)\./, "$1")`可以保留小数点后的部分。
9. **只匹配中文的正则**:`/^[\u4e00-\u9fa5]+$/`可用来检测字符串是否全为中文字符。
10. **返回字符串的中文字符个数**:利用正则遍历字符串计算中文字符的数量。
11. **匹配IP地址前三段**:例如,使用`/(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.([0-9]{1,2}|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.([0-9]{1,2}|1[0-9]{2}|2[0-4][0-9]|25[0-5])/`可以匹配IPv4地址的前三段。
12. **匹配HTML标签间的内容**:如`/<ul>(.*?)<\/ul>/s`可以获取`<ul>`标签对之间的文本。
13. **获取文件名**:通过`/[^\/]+$`或`/(?:[^\/\\]+\.([^\\\/]*))$/`匹配URL或路径中的文件名。
14. **绝对路径转相对路径**:这涉及到路径解析,通常需要编写特定的函数来处理。
15. **用户名正则**:通常要求用户名只能包含字母、数字和下划线,如`/^[a-zA-Z0-9_]+$/`。
16. **匹配英文地址**:复杂度较高的正则,需要考虑街道名、城市、州和邮政编码等元素。
17. **正则匹配价格**:如`/\d+(\.\d{1,2})?/`可以匹配货币格式的数字。
18. **身份证号码的匹配**:中国身份证号码的正则为`/^\d{15}|\d{18}$/`,15位或18位。
19. **要求文本有指定行数**:通过分割文本并计数,可以判断是否有特定数量的行。
20. **单词首字母大写**:使用正则结合字符串方法可以实现每个单词首字母大写。
21. **正则验证日期格式**:如`/^\d{4}-\d{2}-\d{2}$/`可匹配"YYYY-MM-DD"格式。
22. **去掉文件的后缀名**:通过查找最后一个`.`并截取,或使用正则`/(.*)(\.\w+)$/$1/`。
23. **验证邮箱的正则表达式**:常见的邮箱验证正则如`/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/`。
24. **匹配源代码中的链接**:使用HTML或URL相关的正则表达式。
25. **正则判断标签是否闭合**:通过分析HTML结构判断。
26. **用正则获得指定标签的内容**:可以使用正则提取HTML标签内的文本。
27. **正则判断是否为数字与字母的混合**:如`/^[a-zA-Z0-9]+$/`。
28. **空格与英文同时存在**:例如,`/[\s\S]+[a-zA-Z]+\s+\d+/`可以匹配包含英文和数字的字符串。
以上只是文档中的一部分内容,实际文档包含了更多正则表达式的示例和应用场景,对于学习和使用JavaScript正则表达式非常有帮助。在实际编程中,可以根据具体需求选择或调整这些正则表达式。
2021-08-21 上传
2022-04-04 上传
2008-02-26 上传
2023-07-30 上传
2023-10-13 上传
2023-07-23 上传
2023-10-28 上传
2023-06-22 上传
2023-05-02 上传
rootes
- 粉丝: 13
- 资源: 2
最新资源
- C++ Qt影院票务系统源码发布,代码稳定,高分毕业设计首选
- 纯CSS3实现逼真火焰手提灯动画效果
- Java编程基础课后练习答案解析
- typescript-atomizer: Atom 插件实现 TypeScript 语言与工具支持
- 51单片机项目源码分享:课程设计与毕设实践
- Qt画图程序实战:多文档与单文档示例解析
- 全屏H5圆圈缩放矩阵动画背景特效实现
- C#实现的手机触摸板服务端应用
- 数据结构与算法学习资源压缩包介绍
- stream-notifier: 简化Node.js流错误与成功通知方案
- 网页表格选择导出Excel的jQuery实例教程
- Prj19购物车系统项目压缩包解析
- 数据结构与算法学习实践指南
- Qt5实现A*寻路算法:结合C++和GUI
- terser-brunch:现代JavaScript文件压缩工具
- 掌握Power BI导出明细数据的操作指南