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;
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM