有朋友整了一些關於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;
}
