JavaScript正则表达式实战指南
需积分: 10 5 浏览量
更新于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中处理字符串的强大功能,涵盖了数据验证、内容提取、格式转换等多种应用场景,对于提升前端开发能力具有很高的实用价值。
337 浏览量
829 浏览量
332 浏览量
2022-07-15 上传
2022-02-22 上传
123 浏览量
1087 浏览量
115 浏览量
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
stan110
- 粉丝: 0
最新资源
- 新版Universal Extractor:强大的解压提取工具
- 掌握CSS布局技术: pagina.io 主页解读
- MATLAB模拟退火优化工具包InspireaWrapper介绍
- JavaFX实现的简单酒店管理系统设计
- 全新升级版有天asp留言板v2.0功能介绍
- Go Cloud Development Kit:一站式云应用部署解决方案
- 现代操作系统原理与实践:Java和C++模拟模型
- HTML留言板完整代码包下载
- HugeChat服务器:Java通信与服务器端解决方案
- cmake-fullpython: Python集成与虚拟环境的CMake解决方案
- Smartly应用:测试知识的智能游戏平台
- MATLAB实现贝叶斯与软阈值图像去噪方法
- RNN在Matlab中的代码实现与例程指南
- VS2017编译的curl7.70静态链接库支持https
- 讯飞离线语音合成演示与Demo源码解析
- VisEvol: 可视化进化优化在超参数搜索中的应用