正则表达式实战:邮政编码、手机号、QQ号等匹配

需积分: 0 0 下载量 160 浏览量 更新于2024-08-04 收藏 15KB DOCX 举报
本文主要介绍了正则表达式在JavaScript中的常见应用,包括匹配邮政编码、手机号、QQ号、压缩文件名、邮箱、IP地址、密码、用户名、年龄以及中文姓名等。通过示例代码展示了如何编写相关的正则表达式。 1. 邮政编码的匹配:`/^[1-9]\d{5}$/` 这个正则表达式用来检查字符串是否符合中国邮政编码的格式,即6位数字,且首位不能为0。例如:"511741"。 2. 手机号的匹配:`/^1[356789][0-9]{9}$/ 该正则用于验证手机号码,要求以1开头,第二位为3、5、6、7、8或9,后面跟着9位数字。例如:"13532619767"。 3. QQ号的匹配:`^[1-9]\d{4,11}$` 这个正则表达式用来检查QQ号码,要求首位非0,长度在5到12位之间。例如:"1279995329"。 4. 压缩文件名的匹配:`^[a-zA-Z_]\w*((.zip)|(.rar)|(.gz))$` 此正则用于验证压缩文件的名称,名称由字母、数字或下划线组成,不能以数字开头,扩展名为.zip、.rar或.gz。例如:"helloworld.zip"。 5. 邮箱的匹配:未在示例中给出,但通常可以使用如`/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/`这样的正则来匹配邮箱地址。 6. IP地址的匹配:未在示例中给出,但IP地址的正则表达式可能是`/^(\d{1,2}|1\d{2}|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d{2}|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d{2}|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d{2}|2[0-4]\d|25[0-5])$/`,用来验证IPv4的地址,如"192.168.12.26"。 7. 密码的匹配:`/^[a-zA-Z0-9_]{6,20}$/` 用于检查密码,要求由字母、数字或下划线组成,长度在6到20位之间。 8. 用户名的匹配:`/^[a-zA-Z0-9_]{6,16}$/` 用于验证用户名,要求由字母、数字或下划线组成,且不能以数字开头,长度在6到16位之间。 9. 年龄的匹配:`/^[18-40]$/ 这个正则检查年龄,确保在18到40之间。 10. 身份证号的匹配:未在示例中给出,但15位身份证号可以是全数字,18位身份证号前17位是数字,第18位是数字或x或X。可以使用更复杂的正则来实现,如`/^\d{15}|\d{17}(?:\d|x|X)$/`。 11. 中文名字的匹配:`/^[晓小\u4e00-\u9fa5]{3}$/` 用于验证中文名字,要求是3个汉字,中间必须是"晓"或"小",使用Unicode编码范围`\u4e00-\u9fa5`来匹配中文字符。 在实际应用中,根据具体需求可能需要对这些正则表达式进行微调。通过测试函数`test()`,我们可以检查给定的字符串是否符合这些正则表达式的模式。例如,`console.log(reg.test(post))`会返回布尔值,表示输入的字符串是否满足正则规则。