標籤:style http io ar color os sp java for
有朋友整了一些關於js與jquery的數字類型驗證Regex代碼,下面我給大家再整理一下這裡包括了數字驗證實現與測試執行個體了,大家可參考。 js驗證數字Regex 代碼如下複製代碼 function istrue(a)
有朋友整了一些關於js與jquery的數字類型驗證Regex代碼,下面我給大家再整理一下這裡包括了數字驗證實現與測試執行個體了,大家可參考。
js驗證數字Regex
代碼如下 |
複製代碼 |
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, ‘‘); } |
驗證數位Regex集
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驗證
代碼如下 |
複製代碼 |
<html> <head> <title></title> <script language="javascript"> //JS驗證輸入的內容 function checkInput() { var txtName=document.getElementById("txtName"); var lblMsg=document.getElementById("lblMsg"); //建立Regex 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;}
JQuery數字類型驗證Regex