jQuery常用正则匹配表达式 落雨

日常开发中,正则表达式真的是一把利器,尤其在做表单验证、数据清洗的时候,直接拿来用能省下不少时间。下面整理了jQuery里常用的一些正则匹配规则,按类别排好了,覆盖了数字、字符串、邮箱、URL、IP地址、日期等典型场景,复制到项目里就能跑。
//整数
"^-?[1-9]\d*$",
//正整数
"^[1-9]\d*$",
//负整数
intege2: "^-?[1-9]\d*$", // 这里intege2应该是变量名,下同
//数字
num: "^([+-]?)\d*\.?\d+$",
//正数(正整数 + 0)
num1: "^[1-9]\d*|0$",
//负数(负整数 + 0)
num2: "^-[1-9]\d*|0$",
//浮点数
decmal: "^([+-]?)\d*\.\d+$",
//正浮点数
decmal1: "^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$",
//负浮点数
decmal2: "^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$",
//浮点数
decmal3: "^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$",
//非负浮点数(正浮点数 + 0)
decmal4: "^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$",
//非正浮点数(负浮点数 + 0)
decmal5: "^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$",
//邮件
email: "^\w+((-\w+)|(\.\w+))*@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$",
//颜色
color: "^[a-fA-F0-9]{6}$",
//url
url: "^http[s]?://([\w-]+\.)+[\w-]+([\w-./?%&=]*)?$",
//仅中文
chinese: "^[\u4E00-\u9FA5\uF900-\uFA2D]+$",
//仅ACSII字符
ascii: "^[\x00-\xFF]+$",
//邮编
zipcode: "^\d{6}$",
//手机
mobile: "^(13|15)[0-9]{9}$",
//ip地址
ip4: "^(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)\.(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)\.(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)\.(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)$",
//非空
notempty: "^\S+$",
//图片
picture: "(.*)\.(jpg|bmp|gif|ico|pcx|jpeg|tif|png|raw|tga)$",
//压缩文件
rar: "(.*)\.(rar|zip|7zip|tgz)$",
//日期
date: "^\d{4}(-|/|.)\d{1,2}\1\d{1,2}$",
//QQ号码
qq: "^[1-9]*[1-9][0-9]*$",
//电话号码的函数(包括验证国内区号,国际区号,分机号)
tel: "^(([0\+]\d{2,3}-)?(0\d{2,3})-)?(\d{7,8})(-(\d{3,}))?$",
//用来用户注册。匹配由数字、26个英文字母或者下划线组成的字符串
username: "^\w+$",
//字母
letter: "^[A-Za-z]+$",
//大写字母
letter_u: "^[A-Z]+$",
//小写字母
letter_l: "^[a-z]+$",
//身份证
idcard: "^[1-9]([0-9]{14}|[0-9]{17})$"
这些规则都是经过实践检验的,尤其手机号、邮箱和身份证的匹配,在项目中直接拿来用基本够用。当然,实际使用时可以根据需求微调,比如手机号的正则只匹配13和15开头,如果要覆盖其他号段,自己改改就好。总之,收藏这一份,写表单验证的时候直接复制粘贴,省事又靠谱。
