JavaScript正则表达式实战指南
需积分: 10 67 浏览量
更新于2024-07-27
收藏 284KB PDF 举报
"JS正则表达式教程涵盖了各种常见的正则表达式应用场景,从基础到高级,帮助开发者熟练掌握在JavaScript中使用正则表达式的技巧。
1. 匹配结尾的数字:使用正则表达式`/\d+$/g`可以匹配字符串末尾的一串连续数字,例如"30CAC0040"会取出"40","3SFASDF92"会取出"92"。
2. 统一空格个数:通过正则表达式`/\s+/g`,可以替换掉字符串中的多个连续空格,将其统一为一个空格。例如,将"蓝色\n\n理想"转换为"蓝色 理想"。
3. 判断字符串是否由数字组成:简单的正则表达式`/^\d+$/`可以用于判断一个字符串是否全由数字构成。
4. 电话号码正则:通常需要根据特定国家的电话号码格式定制正则,例如中国的电话号码正则可能是`/^1[3-9]\d{9}$/`,用于匹配以1开头的11位数字。
5. 手机号码正则:中国手机号码的正则可能更具体,如`/^1[3-9]\d{9}$/`,确保只有13至19开头的11位数字有效。
6. 删除字符串中的空格:`/^\s+|\s+$|(\s)\s+/g`可以删除字符串开头、结尾及连续的空格。
7. 限制文本框输入:正则表达式`/^\d+(\.\d{1,2})?$/`可以限制输入框只能输入数字和最多两位小数。
8. 替换小数点前内容:`/^\D*/`可选取小数点前所有非数字字符,用指定内容替换。
9. 只匹配中文的正则:`/^[\u4e00-\u9fa5]+$/`可以用来检查字符串是否只包含中文字符。
10. 返回字符串中文字符个数:`/(?:[\u4e00-\u9fa5])+/g`配合计数器可以计算中文字符数量。
11. 匹配IP地址前三段:`/(\d{1,3}\.){2}\d{1,3}/`可以获取IP地址的前三部分。
12. 匹配`<ul>`与`</ul>`之间的内容:`/<ul>(.*?)<\/ul>/s`可以匹配HTML中`<ul>`标签内的所有内容。
13. 绝对路径变相对路径:使用正则替换可以实现绝对路径到相对路径的转换。
14. 用户名正则:通常包括字母、数字和下划线,如`/^[a-zA-Z0-9_]+$/`。
15. 匹配英文地址:可能涉及街道、城市、国家等,正则表达式会比较复杂,通常需要根据实际格式定制。
16. 正则匹配价格:例如`/^-?\d+(\.\d+)?$/`可以匹配带或不带负号的价格。
17. 身份证号码匹配:中国18位身份证号码正则可能为`/^\d{15}|\d{18}$/`,15位或18位数字。
18. 要求文本有指定行数:使用行分隔符`\n`来计数。
19. 单词首字母大写:使用正则配合函数可以将每个单词的首字母转为大写。
20. 验证日期格式:例如`/^\d{4}-\d{2}-\d{2}$/`匹配"年-月-日"格式。
21. 去掉文件的后缀名:`/(.*?)(\.\w+)?$/`可以截取文件名而忽略扩展名。
22. 验证邮箱正则:`/^\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/`用于验证电子邮件地址格式。
23. 匹配源代码中的链接:`/<a\s+(?:[^>]*?\s+)?href="(.*?)".*?>/i`可以找出HTML中的链接。
24. 匹配并提取链接文字:`/<a\s+(?:[^>]*?\s+)?href="(.*?)".*?>(.*?)<\/a>/i`用于获取链接的文本内容。
25. 正则判断标签是否闭合:通过查找未闭合的标签,如`/<\w+\b[^>]*>(?!<\/\w+>)/i`。
26. 获取指定标签内容:`/<tag>(.*?)<\/tag>/`可以获取HTML中指定标签`<tag>`的内容。
27. 判断是否为数字与字母混合:`/^[a-zA-Z0-9]+$/`可以匹配字母和数字的组合。
28. 空格与英文同时存在:`/\b[a-zA-Z]+\s+[a-zA-Z]+\b/`可以匹配包含空格的英文单词组合。
这些正则表达式实例展示了在JavaScript中处理字符串的强大功能,涵盖了数据验证、内容提取、格式转换等多种应用场景,对于提升前端开发能力具有很高的实用价值。
2013-01-08 上传
2019-11-25 上传
2021-12-28 上传
2022-07-15 上传
2023-03-14 上传
2012-03-31 上传
2021-11-10 上传
2021-09-13 上传
stan110
- 粉丝: 0
- 资源: 2
最新资源
- RPMA回传+ Arduino Yun –第3部分-项目开发
- easy-redux:简化redux api
- BarreOutils:锻炼巴雷特迪尔斯
- copylight:jQuery 插件为内容许可证提供视觉强化
- 2021最新孜然导航系统 v1.0
- 微信小程序-小厨房
- visibl:通过React HOC进行视口内检测
- canvasinvaders:HTML Canvas 上的太空入侵者(有点)
- clickhousewriter.zip
- 西门子PLC工程实例源码第637期:转速PID控制程序(双脉冲).rar
- 洗剂
- 物理和云Cayenne交换机-项目开发
- fit-text-to-screen:
- CSYE6220:CSYE6220的分配
- ChatBot
- FJLRS:费·琼斯实验室请求系统