在JavaScript中使用正則表達(dá)式驗(yàn)證表單字段
JavaScript中對(duì)正則表達(dá)式的支持
正則表達(dá)式在JS的最大用處就是驗(yàn)證表單字段,如驗(yàn)證數(shù)字,驗(yàn)證郵件和驗(yàn)證漢字等。
JavaScript中對(duì)正則表達(dá)式的支持是通過RegExp類實(shí)現(xiàn)的。你可以以如下方式建立一個(gè)正則表達(dá)式:
var regex=new RegExp("^[1-9]+\\d*$");
而驗(yàn)證的方法是regex.test(str),它返回str是否符合regex的結(jié)果。
JS中正則表達(dá)式和Java中的異同。
JavaScript
1.建立:
var regex=new RegExp("^[1-9]+\\d*$");
2.驗(yàn)證
return regex.test(str);
3.寫法上,要驗(yàn)證字符串,JS中必須把起始符號(hào)^和結(jié)束符號(hào)$寫全,否則就是包含驗(yàn)證而不是全匹配驗(yàn)證.除此外其它部分都是一致的.
Java
1.建立:
String regex="\\d*";
2.驗(yàn)證:
return Pattern.matches(regex,text);
3.寫法上,JAVA中進(jìn)行全匹配驗(yàn)證不需寫全起始符號(hào)^和結(jié)束符號(hào)$.
一個(gè)完整的驗(yàn)證過程
表單元素:
<input type="text" name="positiveinteger"
value="1" />
表單提交之前的驗(yàn)證函數(shù):
var positiveinteger=$("positiveinteger").value;
if(isPositiveInteger(positiveinteger)==false){
$("positiveinteger").focus();
$("checkMsg").innerHTML="正整數(shù)驗(yàn)證不通過";
return false;
}
else{
$("checkMsg").innerHTML="正整數(shù)驗(yàn)證通過";
}
驗(yàn)證函數(shù):
function isPositiveInteger(str){
var regex=new RegExp("^[1-9]+\\d*$");
return regex.test(str);
}
常用驗(yàn)證函數(shù)
/**
* 正整數(shù)驗(yàn)證*/
function isPositiveInteger(str){
var regex=new RegExp("^[1-9]+\\d*$");
return regex.test(str);
}
/**
* 負(fù)整數(shù)驗(yàn)證
*/
function isNegativeInteger(str){
var regex=new RegExp("^-{1}\\d+$");
return regex.test(str);
}
/**
* 非負(fù)整數(shù)驗(yàn)證
*/
function isNonnegativeInteger(str){
var regex=new RegExp("^\\d+$");
return regex.test(str);
}
/**
* 整數(shù)驗(yàn)證
*/
function isInteger(str){
var regex=new RegExp("^-?\\d+$");
return regex.test(str);
}
/**
* 有理數(shù)驗(yàn)證
*/
function isRationalNumber(str){
var regex=new RegExp("^-?\\d+(\\.*)(\\d*)$");
return regex.test(str);
}
/**
* 英語字母驗(yàn)證
*/
function isLetter(str){
var regex=new RegExp("^[a-zA-Z]+$");
return regex.test(str);
}
/**
* 英數(shù)字驗(yàn)證
*/
function isLetterOrInteger(str){
var regex=new RegExp("^[a-zA-Z0-9]+$");
return regex.test(str);
}
/**
* 郵件驗(yàn)證
*/
function isEmail(str){
var regex=new RegExp("^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$");
return regex.test(str);
}
/**
* 漢字驗(yàn)證
*/
function isCharacter(str){
var regex=new RegExp("^[\u4E00-\u9FA5]+$");
return regex.test(str);
}
/**
* 貨幣驗(yàn)證
*/
function isCurrency(str){
return str.search("^\\d+(\\.\\d{0,2})*$")==0;
}
posted on 2008-03-02 16:00 和風(fēng)細(xì)雨 閱讀(2017) 評(píng)論(2) 編輯 收藏 所屬分類: JavaScript