JavaScript正则表达式实战指南

需积分: 10 3 下载量 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中处理字符串的强大功能,涵盖了数据验证、内容提取、格式转换等多种应用场景,对于提升前端开发能力具有很高的实用价值。