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