实用正则表达式大全:手机号、邮箱、身份证等验证

需积分: 0 0 下载量 41 浏览量 更新于2024-08-03 收藏 3KB MD 举报
"这篇资源是关于正则表达式的集合,主要涵盖了20多种常见的应用场景,包括手机号、邮箱、密码强度、数字、字母、汉字、身份证、QQ、微信、URL、MAC地址、IPv4、16进制颜色、日期格式、邮政编码、银行卡号、车牌号和UUID的校验规则。这些正则表达式可以方便开发者快速进行数据验证,避免在网上寻找不合适的正则表达式。" 在编程和数据验证中,正则表达式是一种强大的工具,用于匹配、查找、替换和提取文本中的模式。以下是对标题和描述中提及的一些正则表达式知识点的详细说明: 1. **正整数含零**:`/^0?$|^([1-9][0-9]*)?$/` 这个正则表达式用于验证一个数是否为非负整数,包括0。`^0?$`匹配0,`|`表示或者,`^([1-9][0-9]*)?$`匹配1到9开头的任意长度的整数序列。 2. **整数(正整数或负整数)**:`/^-?\d+$/` 这个表达式可以匹配正整数或负整数,`-?`表示可选的负号,`\d+`代表一个或多个数字。 3. **浮点数(正浮点数或负浮点数)**:`/^-?\d+(\.\d+)?$/` 此正则表达式用于验证正浮点数或负浮点数,`-?`代表可能的负号,`\d+(\.\d+)?`表示一个数字后可能跟一个点和任意数量的数字。 4. **只含字母的字符串**:`/^[a-zA-Z]+$/` 这个表达式用于匹配仅包含英文字母的字符串,`^`和`$`表示字符串的开始和结束,`[a-zA-Z]`代表所有大写和小写字母。 5. **包含中文的字符串**:`/[\u4E00-\u9FA5]/` 这个正则表达式匹配任何汉字,范围从Unicode的汉字起始位置`\u4E00`到结束位置`\u9FA5`。 6. **手机号码的校验**:`/^[1][3,4,5,6,7,8,9][0-9]{9}$/` 这个正则检查中国手机号码,`^1`表示以1开头,接着是3到9中的任意一个数字,然后是9个数字。 7. **固定电话号码**:`/^(?:\d{3}-)?\d{6,8}$/` 该正则表达式用于验证电话号码,可以有3位的区号加`-`,然后是6到8位的电话号码主体。 8. **身份证的校验**:`/^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/ 这是一个复杂的正则,用于验证15位或18位的中国身份证号码。 9. **邮箱的校验**:`/^([a-zA-Z0-9_\-\.])+\@([a-zA-Z0-9_\-\.])+\.([A-Za-z]{2,4})$/` 此正则表达式用于检查电子邮件地址的有效性,包括用户名、`@`符号、域名和顶级域名。 10. **密码强度的校验**:`/(?=.*[0-9])(?=.*[a-zA-Z])(?=.*[^a-zA-Z0-9]).{8,20}/` 密码必须包含至少一位数字、一位字母和一个非字母非数字字符,并且长度在8到20之间。 11. **URL的校验**:`/^((https?|ftp|file):\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w\.-]*)*\/?$/ 此正则表达式用于验证标准的URL格式,包括协议、域名和路径。 12. **IPv4的校验**:`/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/ 这个正则用于检查IPv4的正确格式,每个部分都在0到255之间。 13. **16进制颜色的校验**:`/^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/` 此正则表达式用于验证16进制颜色代码,包括6位和3位形式,可以有可选的`#`符号。 14. **日期YYYY-MM-DD**:`/^\d{4}(-)\d{1,2}\1\d{1,2}$/ 这个正则检查日期格式为四位年份-月份-日,例如2022-02-14。 15. **日期YYYY-MM-DDhh:mm:ss**:`/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{2}):(\d{2})$/ 该正则表达式验证日期时间格式,包括年、月、日、小时、分钟和秒。 16. **其他未在描述中列出但同样重要的正则表达式**: - 邮政编码:通常根据各国的规定有不同的格式,例如中国邮政编码是六位数字。 - 银行卡号:通常由银行特定的规则确定,可能需要Luhn算法验证。 - 车牌号:各个国家和地区有不同的车牌格式,一般包含字母和数字组合。 - UUID:Universally Unique Identifier,由32个16进制数字组成,可以使用如`/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/`来验证。 这些正则表达式为开发者提供了便利,可以在不同的数据验证场景中直接应用或稍作修改。了解并掌握这些正则,可以大大提高开发效率,确保数据输入的准确性和安全性。