javascript學習筆記(五)正則表達式
更新時間:2011年04月08日 00:25:58 作者:
正則表達式在web開發(fā)中會經常用到,主要用于驗證用戶輸入的數據的格式。
常用到的元字符有:
•. 查找單個字符,除了換行和行結束符;
•\w 匹配字母、漢字、數字、下劃線等符號;
•\s 匹配空白符(包含空格、制表符等);
•\d 匹配數字;
•\b 匹配位于單詞的開頭或結尾的匹配;
常用的量詞有:
•^n 匹配任何開頭為 n 的字符串;
•n$ 匹配任何結尾為 n 的字符串;
•n+ 匹配任何包含至少一個 n 的字符串;
•n* 匹配任何包含零個或多個 n 的字符串;
•n? 匹配任何包含零個或一個 n 的字符串;
•n{X} 匹配包含 X 個 n 的序列的字符串;
•n{X, Y} 匹配包含 X 或 Y 個 n 的序列的字符串;
簡單舉例,主要用于驗證手機號碼、電話號碼及郵箱:
javascript部分代碼:
function isMobile() {
var mobile = document.getElementById("mobile_phone");
var num = mobile.value;
var reg = /^(13[0-9]|186|188|150|151|158|159|147)\d{8}$/;
if(num == "") {
alert("請輸入完整的手機號");
mobile.focus();
return false;
} else if (reg.test(num)) {
alert("輸入的手機號格式正確");
} else {
alert("請輸入正確的11位手機號碼");
mobile.focus();
return false;
}
}
function isEmail() {
var email = document.getElementById("email");
var email_value = email.value;
if(email_value == "") {
alert("請輸入完整的郵箱");
email.focus();
return false;
} else {
var reg = /^[a-zA-Z0-9](\w)+@(\w)+(\.)+(com|com\.cn|net|cn|net\.cn|org|biz|info|gov|gov\.cn|edu|edu\.cn)$/;
if(reg.test(email_value)) {
alert("輸入的郵箱格式正確");
} else {
alert("請輸入正確的郵箱格式");
email.focus();
return false;
}
}
}
function isPhone() {
var phone = document.getElementById("phone");
var phone_value = phone.value;
if(phone_value == "") {
alert("請輸入完整的座機號碼");
phone.focus();
return false;
} else {
var reg = /^[(]?0\d{2,3}[)]?\s*[-]?\s*\d{7,8}$/; //010-87989898 01098989898 (0712)8989898 010 - 23343434 這些格式的座機號碼都滿足
if(reg.test(phone_value)) {
alert("輸入的座機號碼正確");
} else {
alert("輸入的座機號碼格式錯誤");
phone.focus();
return false;
}
}
}
HTML部分代碼:
<p>
<label for="mobile_phone">手 機</label>
<input type="text" id="mobile_phone", name="mobile_phone" value="15107105287" />
<input type="button" value="validate" onclick="isMobile()" />
</p>
<p>
<label for="phone">座 機</label>
<input type="text" id="phone" name="phone" value="027-87767676" />
<input type="button" value="validate" onclick="isPhone()" />
</p>
<p>
<label for="email">郵 箱</label>
<input type="" id="email" name="email" value="zhangchen2397@126.com" />
<input type="button" value="validate" onclick="isEmail()" />
</p>
•. 查找單個字符,除了換行和行結束符;
•\w 匹配字母、漢字、數字、下劃線等符號;
•\s 匹配空白符(包含空格、制表符等);
•\d 匹配數字;
•\b 匹配位于單詞的開頭或結尾的匹配;
常用的量詞有:
•^n 匹配任何開頭為 n 的字符串;
•n$ 匹配任何結尾為 n 的字符串;
•n+ 匹配任何包含至少一個 n 的字符串;
•n* 匹配任何包含零個或多個 n 的字符串;
•n? 匹配任何包含零個或一個 n 的字符串;
•n{X} 匹配包含 X 個 n 的序列的字符串;
•n{X, Y} 匹配包含 X 或 Y 個 n 的序列的字符串;
簡單舉例,主要用于驗證手機號碼、電話號碼及郵箱:
javascript部分代碼:
復制代碼 代碼如下:
function isMobile() {
var mobile = document.getElementById("mobile_phone");
var num = mobile.value;
var reg = /^(13[0-9]|186|188|150|151|158|159|147)\d{8}$/;
if(num == "") {
alert("請輸入完整的手機號");
mobile.focus();
return false;
} else if (reg.test(num)) {
alert("輸入的手機號格式正確");
} else {
alert("請輸入正確的11位手機號碼");
mobile.focus();
return false;
}
}
function isEmail() {
var email = document.getElementById("email");
var email_value = email.value;
if(email_value == "") {
alert("請輸入完整的郵箱");
email.focus();
return false;
} else {
var reg = /^[a-zA-Z0-9](\w)+@(\w)+(\.)+(com|com\.cn|net|cn|net\.cn|org|biz|info|gov|gov\.cn|edu|edu\.cn)$/;
if(reg.test(email_value)) {
alert("輸入的郵箱格式正確");
} else {
alert("請輸入正確的郵箱格式");
email.focus();
return false;
}
}
}
function isPhone() {
var phone = document.getElementById("phone");
var phone_value = phone.value;
if(phone_value == "") {
alert("請輸入完整的座機號碼");
phone.focus();
return false;
} else {
var reg = /^[(]?0\d{2,3}[)]?\s*[-]?\s*\d{7,8}$/; //010-87989898 01098989898 (0712)8989898 010 - 23343434 這些格式的座機號碼都滿足
if(reg.test(phone_value)) {
alert("輸入的座機號碼正確");
} else {
alert("輸入的座機號碼格式錯誤");
phone.focus();
return false;
}
}
}
HTML部分代碼:
復制代碼 代碼如下:
<p>
<label for="mobile_phone">手 機</label>
<input type="text" id="mobile_phone", name="mobile_phone" value="15107105287" />
<input type="button" value="validate" onclick="isMobile()" />
</p>
<p>
<label for="phone">座 機</label>
<input type="text" id="phone" name="phone" value="027-87767676" />
<input type="button" value="validate" onclick="isPhone()" />
</p>
<p>
<label for="email">郵 箱</label>
<input type="" id="email" name="email" value="zhangchen2397@126.com" />
<input type="button" value="validate" onclick="isEmail()" />
</p>
相關文章
ASP小貼士/ASP Tips javascript tips可以當桌面
今天看到《ASP小貼士/ASP Tips》 我也去把JavaScript的tips 下下來了。 看看是A4的。 自己把他改成1024 * 768 剛好可以用來做桌面2009-12-12
JavaScript字符串對象substring方法入門實例(用于截取字符串)
這篇文章主要介紹了JavaScript字符串對象substring方法入門實例,substring方法通過指定開始和結束位置來截取字符串,需要的朋友可以參考下2014-10-10
Javascript模塊化編程(一)AMD規(guī)范(規(guī)范使用模塊)
這個系列的第一部分介紹了Javascript模塊的基本寫法,今天介紹如何規(guī)范地使用模塊,先想一想,為什么模塊很重要?接下來為您詳細介紹,感興趣的朋友可以了解下啊2013-01-01

