JS常用正则表达式总结【经典】
程序员文章站
2023-10-27 22:58:22
本文实例讲述了js常用正则表达式。分享给大家供大家参考,具体如下:
在项目中个人写的一个常用验证的正则表达式:(仅供参考)
//定义两个全局变量
var re...
本文实例讲述了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(!regexp.test(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); } //验证非负的正数,包含了正整数和正浮点数 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相关内容感兴趣的读者可查看本站专题:《javascript正则表达式技巧大全》、《javascript替换操作技巧总结》、《javascript查找算法技巧总结》、《javascript数据结构与算法技巧总结》、《javascript遍历算法与技巧总结》、《javascript中json操作技巧总结》、《javascript错误与调试技巧总结》及《javascript数学运算用法总结》
希望本文所述对大家javascript程序设计有所帮助。
上一篇: 出轨离婚想挽回前夫要怎么办?
下一篇: C语言 经典编程100