一、正則表達式
//對電子郵件的驗證:^[a-z0-9]+([._\\-]*[a-z0-9])*@([a-z0-9]+[-a-z0-9]*[a-z0-9]+.){1,63}[a-z0-9]+$
//對手機號碼的驗證:
/^((13[0-9]{1})|159|153)+\d{8}$/
或 /^(13+\d{9})|(159+\d{8})|(153+\d{8})$/
//對電話號碼的驗證:/^\d{7,8}$/
//對電話區號的驗證:/^\d{3,4}$/
二、解釋相關的意義
- ^$:表示匹配值的開始和結尾。
- +:1+,一個或更多。
- *:0+,零個或更多。
- ?:0/1,零個或一個。
- {1,2}:1<=length<=2,長度。
- ():表示一個表達式的組。
- []:匹配的字符範圍,我理解爲一個塊,很多塊放在一個組()裏面。
- \d:匹配一個數字字符,等價於[0-9]。
三、示例:郵箱驗證
代碼 :
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<form action="">
輸入:<input type="text" name="mazey" id="mazey" placeholder="請輸入郵箱">
<input type="button" value="驗證" onclick="check();">
</form>
</body>
</html>
<script>
function check(){
var reg = new RegExp("^[a-z0-9]+([._\\-]*[a-z0-9])*@([a-z0-9]+[-a-z0-9]*[a-z0-9]+.){1,63}[a-z0-9]+$"); //正則表達式
var obj = document.getElementById("mazey"); //要驗證的對象
if(obj.value === ""){ //輸入不能爲空
alert("輸入不能爲空!");
return false;
}else if(!reg.test(obj.value)){ //正則驗證不通過,格式不對
alert("驗證不通過!");
return false;
}else{
alert("通過!");
return true;
}
}
</script>
OK