JS常⽤正则表达式总结【经典】本⽂实例讲述了JS常⽤正则表达式。分享给⼤家供⼤家参考,具体如下:
在项⽬中个⼈写的⼀个常⽤验证的正则表达式:(仅供参考)
//定义两个全局变量
var reg;
var errorInfo;
//输⼊的数字类型必须是int型,正负整数都可以
function validate_integer(text,value){
reg=/^[-\+]?\d+$/;
errorInfo=text+" "+value+" 只能是整数,请核实重新输⼊!";
verifyByReg(value,reg,errorInfo);
}
//输⼊的数字类型必须是double型,保留的⼩数位数只能是2位,可以为正负
function validate_double(text,value){
reg=/^[-\+]?([1-9](\d+)?|0)(\.\d{2})$/;
errorInfo=text+" "+value+" 只能保留2为⼩数,请核实重新输⼊";
verifyByReg(value,reg,errorInfo);
}
//输⼊的必须是全是数字类型型,不能出现其他字符
function validate_number(text,value){
reg=/^\d+$/;
errorInfo=text+" "+value+" 只能是数字,请核实重新输⼊";
verifyByReg(value,reg,errorInfo);
}
//验证输⼊n位的数值类型
function validate_number_n(text,value,n){
reg=eval("/^\\d{"+n+"}$/");
errorInfo=text+" "+value+" 只能是"+n+"位数字,请核实重新输⼊";
verifyByReg(value,reg,errorInfo);
}
//验证有两位⼩数的正实数
function validate_decimal_two(text,value){
reg=/^([1-9](\d+)?|0)(.[0-9]{2})?$/;
errorInfo=text+" "+value+" 只能是保留2位⼩数的正数,请核实重新输⼊";
verifyByReg(value,reg,errorInfo);
}
//验证⾮零的正整数
function validate_number_positive(text,value){
reg=/^\+?[1-9][0-9]*$/;
errorInfo=text+" "+value+" 只能是⾮0的正整数,请核实重新输⼊";
verifyByReg(value,reg,errorInfo);
}
//验证⾮零的负整数
function validate_number_negative(text,value){
reg=/^[-][1-9][0-9]*$/;
errorInfo=text+" "+value+" 只能是⾮0的负整数,请核实重新输⼊";
verifyByReg(value,reg,errorInfo);
}
//验证⾮负整数,可以为0
function validate_positive_haszero(text,value){
reg=/^[1-9](\d+)?|0$/;
errorInfo=text+" "+value+" 只能是是0或正整数,请核实重新输⼊";
verifyByReg(value,reg,errorInfo);
}
//验证⾮正整数,可以为0
function validate_negative_haszero(text,value){
reg=/^\-[1-9](\d+)?|0$/;
errorInfo=text+" "+value+" 只能是是0或负整数,请核实重新输⼊";
verifyByReg(value,reg,errorInfo);
}
//验证⾮负浮点数(正浮点数 + 0)
function validate_float_notnegative(text,value){
reg=/^([1-9](\d+)?|0)(\.\d+)|0$/;
errorInfo=text+" "+value+" 只能是是0或正浮点数,请核实重新输⼊";
verifyByReg(value,reg,errorInfo);
}
//验证正浮点数
function validate_float_positive(text,value){
reg=/^([1-9](\d+)?|0)(\.\d+)$/;
errorInfo=text+" "+value+" 只能是正浮点数,请核实重新输⼊";
verifyByReg(value,reg,errorInfo);
}
//⾮正浮点数(负浮点数 + 0)
function validate_float_notpositive(text,value){
reg=/^\-([1-9](\d+)?|0)(\.\d+)|0$/;
errorInfo=text+" "+value+" 只能是是0或者负浮点数,请核实重新输⼊";
verifyByReg(value,reg,errorInfo);
}
/
/验证负浮点数
function validate_float_negative(text,value){
reg=/^\-([1-9](\d+)?|0)(\.\d+)$/;
errorInfo=text+" "+value+" 只能是负浮点数,请核实重新输⼊";
verifyByReg(value,reg,errorInfo);
}
//验证正浮点数多少位⼩数
function validate_float_posbit(text,value,n){
reg=eval("/^(\\d+)(\\.\\d{"+n+"})$/");
errorInfo=text+" "+value+" 只能是"+n+"位正浮点数,请核实重新输⼊";
verifyByReg(value,reg,errorInfo);
}
//验证负浮点数多少位⼩数
function validate_float_negbit(text,value,n){
reg=eval("/^(-?\\d+)(\\.\\d{"+n+"})$/");
errorInfo=text+" "+value+" 只能是"+n+"位负浮点数,请核实重新输⼊";
verifyByReg(value,reg,errorInfo);
}
//校验⽂本是否为空
function checknull(text,value){
if(value=="" || typeof(value)=='undefined'){
errorInfo=text+" "+value+" 不能为空,请重新输⼊!";
returnInfo(errorInfo);
}
}
//验证由26个英⽂字母组成的字符串
function validate_string_letter(text,value){
reg=/^[A-Za-z]+$/;
errorInfo=text+" "+value+" 只能是26位不区分⼤⼩写的英⽂字母组成,请核实重新输⼊"; verifyByReg(value,reg,errorInfo);
}
//验证由26个英⽂字母的⼤写组成的字符串
function validate_string_bigletter(text,value){
reg=/^[A-Z]+$/;
errorInfo=text+" "+value+" 只能是26位⼤写的英⽂字母组成,请核实重新输⼊"; verifyByReg(value,reg,errorInfo);
}
//验证由26个英⽂字母的⼩写组成的字符串
function validate_string_smallletter(text,value){
reg=/^[a-z]+$/;
errorInfo=text+" "+value+" 只能是26位⼩写的英⽂字母组成,请核实重新输⼊"; verifyByReg(value,reg,errorInfo);
}
//验证由数字和26个英⽂字母组成的字符串
function validate_string_number(text,value){
reg=/^[A-Za-z0-9]+$/;
errorInfo=text+" "+value+" 只能是数字和26个英⽂字母组成,请核实重新输⼊"; verifyByReg(value,reg,errorInfo);
}
//验证由数字、26个英⽂字母或者下划线组成的字符串
function validate_string_numberandunderline(text,value){
reg=/^\w+$/;
errorInfo=text+" "+value+" 只能是数字、26个英⽂字母或者下划线组成,请核实重新输⼊"; verifyByReg(value,reg,errorInfo);
}
//验证邮箱
function validate_email(value){
reg=/^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/;
errorInfo='邮箱 '+value+" ⽆效,请重新输⼊";
verifyByReg(value,reg,errorInfo);
}
//验证时如果选择默认调⽤此⽅法⾦额类型,可以是正整数或保留4位有效数字的正整数/**有问题
function validate_money_default(text,value){
var reg=/^\d+(\.\d{4})?$/;
var errorInfo=text+" "+value+" 只能是正整数或保留4位有效数字,请核实重新输⼊"; verifyByReg(value,reg,errorInfo);
}
**/
//验证输⼊的只能是中⽂
function validate_chinese(text,value){
reg=/^[\u4e00-\u9fa5]+$/;
errorInfo=text+" "+value+" 只能是中⽂字符,请重新输⼊";
verifyByReg(value,reg,errorInfo);
}
//验证输⼊的只能是n位的中⽂
function validate_bitchinese(text,value,bit){
reg=eval("/^[\\u4e00-\\u9fa5]{"+bit+"}$/");alert(reg);
errorInfo=text+" "+value+" 只能是"+bit+"位中⽂字符,请重新输⼊";
verifyByReg(value,reg,errorInfo);
}
//跟最⼤的值⽐较,此⽅法是看数字是否超出系统的上限
function thanMax(text,number,max){
if(number>max){
errorInfo=text+" "+number+" 不能⼤于"+max+",请重新输⼊";
returnInfo(errorInfo);
}
}
//跟最⼩的值⽐较,此⽅法是看数字是否低于系统的下限
function thinMin(text,number,min){
if(number<min){
errorInfo=text +" "+number+" 不能⼩于"+min+",请重新输⼊";
returnInfo(errorInfo);
}
}
//输⼊⽂本的字符串是否在系统的指定长度内
function isLimit(text,value,length){
var arr=value.split("");
if(arr.length>length){
errorInfo=text +" "+value+" 字符过长,请输⼊最多"+length+"位字符";
returnInfo(errorInfo);
}
}
//的验证
function validate_zipcode(value){
reg=/[1-9]\d{5}(?!\d)/;
errorInfo=' '+value+" 有误,请核实重新输⼊";
verifyByReg(value,reg,errorInfo);
}
//对数值类型的数据进⾏简单的验证和转换,因为在设置的时候没有传⼊这个参数的话就会出现js代码错误,所以应该对数值型的数据进⾏转换//⾮空字符的判定
function getZeroByNull(text,value){
errorInfo=text+" "+value+" 不能为空,请核实重新输⼊";
if(value==null||value==''||value=='undefined'){
returnInfo(errorInfo);
}
}
//⾝份证验证,分为了两种,15位和18位
function validate_IdCard(value){
var size=value.split("");
if(size.length==15){
reg=/^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$/;//15位⾝份证验证
errorInfo='位⾝份证号码 '+value+" 有误,请核实重新输⼊";
}else if(size.length==18){
reg=/^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X|x)$/;//18位⾝份证验证
errorInfo='位⾝份证号码 '+value+" 有误,请核实重新输⼊";
}else{
errorInfo="请输⼊合法的⾝份证号码!";
returnInfo(errorInfo);
}
verifyByReg(value,reg,errorInfo);
}
//每个验证都需要调⽤此⽅法
function verifyByReg(value,reg,errorInfo){
if(value!=''&®!=''){
var regExp = new RegExp(reg);
if(!st(value)){
alert(errorInfo);
throw errorInfo;
}
}
}
//不进过正则表达式验证,只需要返回信息,适合内部调⽤此⽅法
function returnInfo(message){
alert(message);
throw message;
}
//许可证号⽣产企业的格式:QS 1234 2346 3456 其中空格可有可⽆
///经营企业许可证的格式为: 湘010249 但是中国的省会简称可能会有三个字的,所以中⽂可以定义为1-3个
function validate_license(value,type){
if(type==1){
reg=/^[a-zA-Z]{2}[ ]?(\d{4}[ ]?\d{4}[ ]?\d{4})$/;//⽣产企业许可证号
errorInfo="⽣产许可证号 "+value+" 有误,请核实重新输⼊!";
}else if(type==2){
reg=/^[\u4e00-\u9fa5]{1,3}\d{6}$/;
errorInfo="经营许可证号 "+value+" 有误,请核实重新输⼊!";
}
verifyByReg(value,reg,errorInfo);
}
//传真可以匹配的字符串如:+123 -999 999 ; +123-999 999 ;123 999 999 ;+123 999999等
function validate_fax(value){
reg=/^([+]{0,1})?\d{1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/;
errorInfo="传真 "+value+" 有误,请重新输⼊!";
verifyByReg(value,reg,errorInfo);
}
//电话号码可以输⼊:电话或者⼿机其中⼿机号码可以是(+86)、(86)+号码,也可以是号码电话的号码可以是区号+号码区号-号码号码function validate_tel(value){
reg=/(^(0\d{2,3}([-|+])?)?\d{7}$)|(^(\d{3,4}([-|+])?)?\d{7,8}$)|(^([+]?(86)?[+]?)1[3-9]\d{9}$)/;
errorInfo='电话号码 '+value+" 有误,请核实重新输⼊!";
verifyByReg(value,reg,errorInfo);
}
//⽇:⼤于0⼩于等于31的正整数
function validate_day(value){
reg=/(^[0]?[1-9]$)|(^[1-2]\d$)|(^[3][0-1]$)/;
errorInfo='⽇期 '+value+" 有误,请核实重新输⼊!";
verifyByReg(value,reg,errorInfo);
}
//⽉:合法⽉份
function validate_month(value){
reg=/(^[0]?[1-9]$)|(^[1][0-2]$)/;
errorInfo='⽉份 '+value+" 有误,请核实重新输⼊!";
verifyByReg(value,reg,errorInfo);
}
/
/年:合法年份在这⾥合法的年份为公元1000年⾄公元2999年
function validate_year(value){
reg=/^[1-2]\d{3}$/;
errorInfo='年份 '+value+" 有误,请核实重新输⼊!";
verifyByReg(value,reg,errorInfo);
}
//百分⽐:合法百分⽐(0-100之前的数字)
function validate_percentage(text,value){
reg=/(^[1-9](\d)?(\.\d+)?$)|(^0(\.\d+)?$)|(^100$)/;
errorInfo=text +" "+value+" 有误,请输⼊0到100的数字!";
verifyByReg(value,reg,errorInfo);
}
//系数:⼩于等于1的正数在这⾥系数的⼩数点后⾯也是2位
function validate_modulus(text,value){
reg=/^[0](\.\d{2})$|^[1](\.[0]{2})?$/;
errorInfo=text+" "+value+" 有误,请输⼊⼩于0到1的数字!";
verifyByReg(value,reg,errorInfo);
}
js中文正则表达式//验证⾮负的正数,包含了正整数和正浮点数
function validate_posnumhaszero(text,value){
checknull(text,value);
reg=/^[1-9](\d+)?(\.\d+)?$|^0(\.\d+)?$/;
errorInfo=text+" "+value+" 有误,请输⼊⼤于或等于0 的数字!";
verifyByReg(value,reg,errorInfo);
}
//验证⾮正的负数,包含了负整数和负浮点数
function validate_negnumhaszero(text,value){
checknull(text,value);
reg=/^[-][1-9](\d+)?(\.\d+)?$|^[-]0(\.\d+)?$/;
errorInfo=text+" "+value+" 有误,请输⼊⼩于或等于0 的数字!";
verifyByReg(value,reg,errorInfo);
}
//验证正数,包含了正整数和正浮点数
function validate_posnum(text,value){
checknull(text,value);
reg=/^[1-9](\d+)?(\.\d+)?$|^0(\.\d+)$/;
errorInfo=text+" "+value+" 有误,请输⼊⼤于0 的数字!";
verifyByReg(value,reg,errorInfo);
}
//验证负数,包含了负整数和负浮点数
function validate_negnum(text,value){
checknull(text,value);
reg=/^[-][1-9](\d+)?(\.\d+)?$|^[-]0(\.\d+)$/;
errorInfo=text+" "+value+" 有误,请输⼊⼩于0 的数字!";
verifyByReg(value,reg,errorInfo);
}
//验证数,包括所有的数值,正数、负数、正浮点数、负浮点数
function validate_allnum(text,value){
checknull(text,value);
reg=/^[-|+]?[1-9](\d+)?(\.\d+)?$|^[-|+]?0(\.\d+)?$/;
errorInfo=text+" "+value+" 有误,请输⼊数字!";
verifyByReg(value,reg,errorInfo);
}
PS:这⾥再为⼤家提供2款⾮常⽅便的正则表达式⼯具供⼤家参考使⽤:
更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《》、《》、《》、《》、《》、《》、《》及《》希望本⽂所述对⼤家JavaScript程序设计有所帮助。