有朋友整了一些关于js与jquery的数字类型验证正则表达式代码,下面我给大家再整理一下。
这里包括了数字验证实现与测试实例了,大家可参考。
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+)?$/;
return reg.test(a);
}
//检查是否整数
function isInt(a) {
var reg = /^-?d+$/;
return reg.test(a);
}
//去掉非法字符
function trim(str) {
return str.replace(/^s+|s+$/g, '');
}
jquery验证数字的正则表达式集
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验证输入的内容
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;
}
}
html部分
数字的判断可以用isNaN函数
if(isNaN(document.myform.name.value)){
alert("输入必须是数字");
return false;
}