JavaScript正则表达式实战指南
5星 · 超过95%的资源 需积分: 10 200 浏览量
更新于2024-07-28
收藏 284KB PDF 举报
"JavaScript正则表达式是编程语言JavaScript中用于处理文本模式的强大工具,它在文本处理、数据验证和字符串操作中起着至关重要的作用。以下是一些经典的JavaScript正则表达式实战示例,涵盖了各种常见的匹配和操作场景。
1. **匹配结尾的数字**
使用正则表达式`/\d+$/g`,可以匹配字符串末尾的一串数字。例如,从"30CAC0040"和"3SFASDF92"中分别取出末尾的"40"和"92"。
2. **统一空格个数**
当字符串中的空格数量不一致时,可以使用正则表达式`\s+`来匹配连续的空格,并用`replace()`函数替换为单个空格。例如,将多行的"蓝色\n色\n理想"转换为"蓝色理想"。
3. **判断字符串是否全由数字组成**
可以使用正则表达式`/^\d+$/`来检查字符串是否仅包含数字。如果整个字符串都能匹配这个正则,那么它就是全数字的。
4. **电话号码和手机号码正则**
电话号码和手机号码的正则表达式通常会根据具体国家的格式进行编写,例如中国的手机号码通常使用`/^1[3-9]\d{9}$/`来匹配。
5. **删除字符串中的空格**
使用`/\s+/g`匹配所有空格,然后用空字符串替换,即可实现删除字符串中的所有空格。
6. **限制文本框输入格式**
若要限制文本框只能输入数字和小数点,可以设置输入框的`pattern`属性为`^[0-9]+(\.[0-9]+)?$`。
7. **替换小数点前内容**
用正则表达式`/(^|[^.])+/`捕获小数点前的内容,然后进行替换。
8. **匹配中文字符**
正则表达式`/^[\u4e00-\u9fa5]+$/`可以用来判断字符串是否只包含中文字符,以及计算中文字符个数。
9. **获取IP地址前三段**
使用正则`/(\d{1,3}\.){2}\d{1,3}/`可以匹配到IP地址的前三段。
10. **匹配HTML内容**
正则表达式如`/<ul>(.*?)<\/ul>/`可以用于提取HTML中`<ul>`和`</ul>`标签之间的内容。
11. **文件名提取**
要获取文件名,可以用正则`/(.*?)(?:\?|$)/`来匹配URL或路径中的文件名部分。
12. **路径转换**
转换绝对路径为相对路径,通常涉及对URL结构的理解和适当的字符串操作。
13. **验证邮箱格式**
邮箱验证的正则表达式通常较复杂,例如`/^\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/`。
14. **匹配源代码链接**
从HTML源代码中提取链接,可以使用`/<a\s+(?:[^>]*?\s+)?href=["']([^"']+)["']\s*>/gi`。
15. **判断HTML标签是否闭合**
检查HTML标签是否正确闭合,需要分析标签的开始和结束。
16. **提取指定标签内容**
使用正则`/<tag>(.*?)<\/tag>/`可以提取HTML中特定标签内的内容。
17. **混合字母数字验证**
用正则`/^[a-zA-Z0-9]+$/`可以判断字符串是否仅包含字母和数字。
18. **显示或保存匹配部分**
使用`match()`或`exec()`方法可以获取正则匹配的子串。
19. **替换正则表达式中的变量**
通过正则的`replace()`方法可以替换字符串中满足特定模式的部分。
20. **阿拉伯数字转中文大写**
将阿拉伯数字转换为中文大写,涉及到数字到汉字字符的映射。
21. **URL转链接**
把文本中的URL自动转换为可点击的链接,可以使用正则和`replace()`。
22. **删除HTML标签及其内容**
使用正则表达式配合`replace()`来删除HTML中的特定标签和它们所包含的内容。
23. **文本分段**
通过正则来分割文本,可以实现按特定规则(如行数)划分段落。
24. **转换标签属性**
如给属性添加双引号,使用正则替换未封闭的属性值。
25. **给`table`添加`tbody`**
自动在`table`标签内部添加`tbody`标签,以符合HTML规范。
26. **删除标签的所有属性**
通过正则表达式移除HTML标签的所有属性。
27. **替换特定单词**
使用正则替换功能,可以替换文本中的特定单词。
28. **高亮显示指定文字**
对文本中特定文字进行高亮处理,通常涉及字符串替换和CSS样式应用。
这些实战例子展示了JavaScript正则表达式的强大和灵活性,它们在实际开发中有着广泛的应用。通过熟练掌握这些技巧,开发者可以更高效地处理和验证文本数据。"
2021-12-28 上传
2018-04-04 上传
2023-05-14 上传
2024-04-08 上传
2023-06-03 上传
2023-08-14 上传
2023-02-06 上传
2023-05-30 上传
2023-07-27 上传
yingzhaom
- 粉丝: 79
- 资源: 15
最新资源
- 天池大数据比赛:伪造人脸图像检测技术
- ADS1118数据手册中英文版合集
- Laravel 4/5包增强Eloquent模型本地化功能
- UCOSII 2.91版成功移植至STM8L平台
- 蓝色细线风格的PPT鱼骨图设计
- 基于Python的抖音舆情数据可视化分析系统
- C语言双人版游戏设计:别踩白块儿
- 创新色彩搭配的PPT鱼骨图设计展示
- SPICE公共代码库:综合资源管理
- 大气蓝灰配色PPT鱼骨图设计技巧
- 绿色风格四原因分析PPT鱼骨图设计
- 恺撒密码:古老而经典的替换加密技术解析
- C语言超市管理系统课程设计详细解析
- 深入分析:黑色因素的PPT鱼骨图应用
- 创新彩色圆点PPT鱼骨图制作与分析
- C语言课程设计:吃逗游戏源码分享