JQuery数字类型验证正则表达式

有朋友整了一些关于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部分

<form id="form1" method="post">             
    <input id="txtName" onblur="return checkInput()" />             
    <div id="lblMsg"></div>         
</form>

数字的判断可以用isNaN函数

if(isNaN(document.myform.name.value)){ 
    alert("输入必须是数字"); 
    return false;
}

 

posted on 2014-11-26 16:00  天涯明月夜  阅读(8037)  评论(0编辑  收藏  举报