JavaScript 正则表达式常用实例与方法

需积分: 18 3 下载量 7 浏览量 更新于2024-09-29 收藏 50KB DOC 举报
本文介绍了JavaScript中的经典正则表达式及其应用场景,包括匹配中文字符、双字节字符、空行、HTML标记、首尾空格、IP地址、Email地址和URL等。正则表达式在字符串处理、表单验证等方面非常实用,但使用时需要对相关语法有深入理解。 1. **匹配中文字符**: - 正则表达式:`[\u4e00-\u9fa5]` - 这个表达式用于识别所有中文字符,范围覆盖了Unicode中的基本汉字区。 2. **匹配双字节字符**: - 正则表达式:`[^\x00-\xff]` - 双字节字符包括汉字和其他非ASCII字符。这个表达式用于匹配所有非ASCII字符,常用于计算包含双字节字符的字符串长度。 3. **计算字符串长度**: - 在JavaScript中,可以使用正则替换方法来计算字符串长度,例如: ```javascript String.prototype.len = function() { return this.replace(/[^\x00-\xff]/g, "aa").length; } ``` - 这个方法会将所有非ASCII字符替换为两个"aa",然后返回结果字符串的长度,从而得到正确的长度计算。 4. **匹配空行**: - 正则表达式:`\n[\s|]*\r` - 这个表达式用于匹配文本中的空行,包括换行符和可能存在的多个空格或制表符。 5. **匹配HTML标记**: - 正则表达式:`/<(.*)>.*<\/\1>|<(.*) \/>/` - 这个表达式用来匹配HTML的开始和结束标签,以及自闭合标签。 6. **匹配首尾空格**: - 正则表达式:`(^\s*)|(\s*$)` - 这个表达式用于去除字符串开头和结尾的空格,常用于实现类似trim的功能。 7. **JavaScript中的trim函数**: - 通过正则表达式实现trim功能: ```javascript String.prototype.trim = function() { return this.replace(/(^\s*)|(\s*$)/g, ""); } ``` - 这个函数会删除字符串开头和结尾的空格。 8. **利用正则表达式处理IP地址**: - 可以通过正则表达式匹配IP地址并转换为数值: ```javascript function IP2V(ip) { var re = /(\d+)\.(\d+)\.(\d+)\.(\d+)/g; if (re.test(ip)) { return RegExp.$1 * Math.pow(255, 3) + RegExp.$2 * Math.pow(255, 2) + RegExp.$3 * 255 + RegExp.$4 * 1; } else { throw new Error("Not a valid IP address!"); } } ``` - 或者使用split方法简化处理: ```javascript var ip = "10.100.20.168"; ip = ip.split("."); alert("IP值是:" + (ip[0] * 255 * 255 * 255 + ip[1] * 255 * 255 + ip[2] * 255 + ip[3] * 1)); ``` 9. **匹配Email地址**: - 正则表达式:`\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*` - 这个表达式用于验证电子邮件地址的格式是否正确。 10. **匹配网址URL**: - 正则表达式:`http://([\w-]+.)+[\w-]+(/[\w- ./?%&=])?` - 这个表达式用于匹配标准的HTTP URL。 正则表达式是JavaScript中处理字符串的强大工具,熟练掌握正则表达式可以帮助开发者更有效地进行数据验证、提取和处理。以上介绍的这些经典表达式涵盖了日常开发中常见的需求,学习和掌握它们对于提升JavaScript编程能力大有裨益。