[导读] 有朋友整了一些关于js与jquery的数字类型验证正则表达式代码,下面我给大家再整理一下这里包括了数字验证实现与测试实例了,大家可参考。 js验证数字正则表达式 代码如下复制代码 function istrue(a)
js验证数字正则表达式
代码如下 | 复制代码 |
function istrue(a){ var reg=/^(([a-z]+[0-9]+)|([0-9]+[a-z]+))[a-z0-9]*$/i; return reg.test(a); } function isNumeric(a) { var reg=/^(-|+)?d+(.d+)?$/ return(reg.test(a)); } //检查是否为正数 function isUnsignedNumeric(a) { var reg=/^d+(.d+)?$/ alert reg.test(a); } //检查是否为整数 function isInteger(a) { var reg=/^(-|+)?d+$/ return reg.test(a); } //检查是否为正整数 function isUnsignedInteger(a) { var reg =/^d+$/ return reg.test(a); } //检查是否数字 function isNum(a) { var reg = /^d+(.d+)?$/; reg.test(a); } //检查是否整数 function isInt(a) { var reg = /^-?d+$/; return reg.test(a); }
//去掉非法字符 function trim(str) { return str.replace(/^s+|s+$/g, ''); }
|
验证数字的正则表达式集
代码如下 | 复制代码 |
intege:"^-?[1-9]//d*$", //整数 intege1:"^[1-9]//d*$", //正整数 intege2:"^-[1-9]//d*$", //负整数 num:"^([+-]?)//d*//.?//d+$", //数字 num1:"^([1-9]//d*|0)$", //正数(正整数 + 0) num2:"^-[1-9]//d*|0$", //负数(负整数 + 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)$", //浮点数 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$", //非正浮点数(负浮点数 + 0) |
js
代码如下 | 复制代码 |
验证数字:^[0-9]*$ 验证n位的数字:^d{n}$ 验证至少n位数字:^d{n,}$ 验证m-n位的数字:^d{m,n}$ 验证零和非零开头的数字:^(0|[1-9][0-9]*)$ 验证有两位小数的正实数:^[0-9]+(.[0-9]{2})?$ 验证有1-3位小数的正实数:^[0-9]+(.[0-9]{1,3})?$ 验证非零的正整数:^+?[1-9][0-9]*$ 验证非零的负整数:^-[1-9][0-9]*$ 验证非负整数(正整数 + 0) ^d+$ 验证非正整数(负整数 + 0) ^((-d+)|(0+))$ 验证长度为3的字符:^.{3}$ 验证由26个英文字母组成的字符串:^[A-Za-z]+$ 验证由26个大写英文字母组成的字符串:^[A-Z]+$ 验证由26个小写英文字母组成的字符串:^[a-z]+$ 验证由数字和26个英文字母组成的字符串:^[A-Za-z0-9]+$ 验证由数字、26个英文字母或者下划线组成的字符串:^w+$ 验证用户密码:^[a-zA-Z]w{5,17}$ 正确格式为:以字母开头,长度在6-18之间,只能包含字符、数字和下划线。 验证是否含有 ^%&',;=?$" 等字符:[^%&',;=?$x22]+ 验证汉字:^[u4e00-u9fa5],{0,}$ 验证Email地址:^w+[-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$ 验证InternetURL:^http://([w-]+.)+[w-]+(/[w-./?%&=]*)?$ ;^[a-zA-z]+://(w+(-w+)*)(.(w+(-w+)*))*(?S*)?$ 验证电话号码:^((d{3,4})|d{3,4}-)?d{7,8}$:--正确格式为:XXXX-XXXXXXX,XXXX-XXXXXXXX,XXX-XXXXXXX,XXX-XXXXXXXX,XXXXXXX,XXXXXXXX。 验证身份证号(15位或18位数字):^d{15}|d{}18$ 验证一年的12个月:^(0?[1-9]|1[0-2])$ 正确格式为:“01”-“09”和“1”“12” 验证一个月的31天:^((0?[1-9])|((1|2)[0-9])|30|31)$ 正确格式为:01、09和1、31。 整数:^-?d+$ 非负浮点数(正浮点数 + 0):^d+(.d+)?$ 正浮点数 ^(([0-9]+.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*.[0-9]+)|([0-9]*[1-9][0-9]*))$ 非正浮点数(负浮点数 + 0) ^((-d+(.d+)?)|(0+(.0+)?))$ 负浮点数 ^(-(([0-9]+.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*.[0-9]+)|([0-9]*[1-9][0-9]*)))$ 浮点数 ^(-?d+)(.d+)?$ |
判断数据是double还float int等数据类型。
代码如下 | 复制代码 |
function f_check_double(obj){ var numreg; var value = obj.value; var strvaluetemp, strint, strdec; var dtype = obj.eos_datatype; var pos_dtype = dtype.substring(dtype.indexof("(")+1,dtype.indexof(")")).split(","); var len = pos_dtype[0], prec = pos_dtype[1]; try { numreg =/[-]/; strvaluetemp = value.replace(numreg, ""); numreg =/[+]/; strvaluetemp = strvaluetemp.replace(numreg, ""); //整数 if(prec==0){ numreg =/[.]/; if(numreg.test(value) == true){ f_alert(obj, "输入必须为整数类型"); return false; } } if(strvaluetemp.indexof(".") < 0 ){ if(strvaluetemp.length >( len - prec)){ f_alert(obj, "整数位不能超过"+ (len - prec) +"位"); return false; } }else{ strint = strvaluetemp.substr( 0, strvaluetemp.indexof(".") ); if(strint.length >( len - prec)){ f_alert(obj, "整数位不能超过"+ (len - prec) +"位"); return false; } strdec = strvaluetemp.substr( (strvaluetemp.indexof(".")+1), strvaluetemp.length ); if(strdec.length > prec){ f_alert(obj, "小数位不能超过"+ prec +"位"); return false; } } return true; }catch(e){ alert("in f_check_double = " + e); return false; } } |
数字字母 汉字 JS验证
代码如下 | 复制代码 |
<html> <head> <title></title> <script language="javascript"> //JS验证输入的内容 function checkInput() { var txtName=document.getElementById("txtName"); var lblMsg=document.getElementById("lblMsg"); //创建正则表达式 var re=/^[0-9a-zA-Z]{6,20}$/; //只输入数字和字母的正则 //var re=/^[u4e00-u9fa5]{1,10}$/; //只输入汉字的正则 if(txtName.value.search(re)==-1) { lblMsg.innerText = "请输入数字和字母,字符介于六到二十个。"; //lblMsg.innerText = "请输入汉字,字符不能超过十个。"; return false; } else { lblMsg.innerText = "√"; return true; } } </script> </head> <body> <form id="form1" method="post"> <input id="txtName" onblur="return checkInput()" /> <div id="lblMsg"></div> </form> </body> </html> |
要说明的是div会自动换行,可以加入span他不会自动换行除非设置换行。
数字的判断可以用isNaN函数 if(isNaN(document.myform.name.value)){ alert("输入必须是数字"); return false;}