javascript學(xué)習(xí)筆記(五)正則表達(dá)式
更新時(shí)間:2011年04月08日 00:25:58 作者:
正則表達(dá)式在web開(kāi)發(fā)中會(huì)經(jīng)常用到,主要用于驗(yàn)證用戶(hù)輸入的數(shù)據(jù)的格式。
常用到的元字符有:
•. 查找單個(gè)字符,除了換行和行結(jié)束符;
•\w 匹配字母、漢字、數(shù)字、下劃線等符號(hào);
•\s 匹配空白符(包含空格、制表符等);
•\d 匹配數(shù)字;
•\b 匹配位于單詞的開(kāi)頭或結(jié)尾的匹配;
常用的量詞有:
•^n 匹配任何開(kāi)頭為 n 的字符串;
•n$ 匹配任何結(jié)尾為 n 的字符串;
•n+ 匹配任何包含至少一個(gè) n 的字符串;
•n* 匹配任何包含零個(gè)或多個(gè) n 的字符串;
•n? 匹配任何包含零個(gè)或一個(gè) n 的字符串;
•n{X} 匹配包含 X 個(gè) n 的序列的字符串;
•n{X, Y} 匹配包含 X 或 Y 個(gè) n 的序列的字符串;
簡(jiǎn)單舉例,主要用于驗(yàn)證手機(jī)號(hào)碼、電話號(hào)碼及郵箱:
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("請(qǐng)輸入完整的手機(jī)號(hào)");
mobile.focus();
return false;
} else if (reg.test(num)) {
alert("輸入的手機(jī)號(hào)格式正確");
} else {
alert("請(qǐng)輸入正確的11位手機(jī)號(hào)碼");
mobile.focus();
return false;
}
}
function isEmail() {
var email = document.getElementById("email");
var email_value = email.value;
if(email_value == "") {
alert("請(qǐng)輸入完整的郵箱");
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("請(qǐng)輸入正確的郵箱格式");
email.focus();
return false;
}
}
}
function isPhone() {
var phone = document.getElementById("phone");
var phone_value = phone.value;
if(phone_value == "") {
alert("請(qǐng)輸入完整的座機(jī)號(hào)碼");
phone.focus();
return false;
} else {
var reg = /^[(]?0\d{2,3}[)]?\s*[-]?\s*\d{7,8}$/; //010-87989898 01098989898 (0712)8989898 010 - 23343434 這些格式的座機(jī)號(hào)碼都滿(mǎn)足
if(reg.test(phone_value)) {
alert("輸入的座機(jī)號(hào)碼正確");
} else {
alert("輸入的座機(jī)號(hào)碼格式錯(cuò)誤");
phone.focus();
return false;
}
}
}
HTML部分代碼:
<p>
<label for="mobile_phone">手 機(jī)</label>
<input type="text" id="mobile_phone", name="mobile_phone" value="15107105287" />
<input type="button" value="validate" onclick="isMobile()" />
</p>
<p>
<label for="phone">座 機(jī)</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>
•. 查找單個(gè)字符,除了換行和行結(jié)束符;
•\w 匹配字母、漢字、數(shù)字、下劃線等符號(hào);
•\s 匹配空白符(包含空格、制表符等);
•\d 匹配數(shù)字;
•\b 匹配位于單詞的開(kāi)頭或結(jié)尾的匹配;
常用的量詞有:
•^n 匹配任何開(kāi)頭為 n 的字符串;
•n$ 匹配任何結(jié)尾為 n 的字符串;
•n+ 匹配任何包含至少一個(gè) n 的字符串;
•n* 匹配任何包含零個(gè)或多個(gè) n 的字符串;
•n? 匹配任何包含零個(gè)或一個(gè) n 的字符串;
•n{X} 匹配包含 X 個(gè) n 的序列的字符串;
•n{X, Y} 匹配包含 X 或 Y 個(gè) n 的序列的字符串;
簡(jiǎn)單舉例,主要用于驗(yàn)證手機(jī)號(hào)碼、電話號(hào)碼及郵箱:
javascript部分代碼:
復(fù)制代碼 代碼如下:
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("請(qǐng)輸入完整的手機(jī)號(hào)");
mobile.focus();
return false;
} else if (reg.test(num)) {
alert("輸入的手機(jī)號(hào)格式正確");
} else {
alert("請(qǐng)輸入正確的11位手機(jī)號(hào)碼");
mobile.focus();
return false;
}
}
function isEmail() {
var email = document.getElementById("email");
var email_value = email.value;
if(email_value == "") {
alert("請(qǐng)輸入完整的郵箱");
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("請(qǐng)輸入正確的郵箱格式");
email.focus();
return false;
}
}
}
function isPhone() {
var phone = document.getElementById("phone");
var phone_value = phone.value;
if(phone_value == "") {
alert("請(qǐng)輸入完整的座機(jī)號(hào)碼");
phone.focus();
return false;
} else {
var reg = /^[(]?0\d{2,3}[)]?\s*[-]?\s*\d{7,8}$/; //010-87989898 01098989898 (0712)8989898 010 - 23343434 這些格式的座機(jī)號(hào)碼都滿(mǎn)足
if(reg.test(phone_value)) {
alert("輸入的座機(jī)號(hào)碼正確");
} else {
alert("輸入的座機(jī)號(hào)碼格式錯(cuò)誤");
phone.focus();
return false;
}
}
}
HTML部分代碼:
復(fù)制代碼 代碼如下:
<p>
<label for="mobile_phone">手 機(jī)</label>
<input type="text" id="mobile_phone", name="mobile_phone" value="15107105287" />
<input type="button" value="validate" onclick="isMobile()" />
</p>
<p>
<label for="phone">座 機(jī)</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>
相關(guān)文章
Javascript學(xué)習(xí)筆記1 數(shù)據(jù)類(lèi)型
在Javascript中只有五種簡(jiǎn)單類(lèi)型,分別為null,undefined,boolean,String和Number.一種復(fù)雜類(lèi)型:object。2010-01-01javascript實(shí)現(xiàn)存儲(chǔ)hmtl字符串示例
這篇文章主要介紹了javascript實(shí)現(xiàn)存儲(chǔ)hmtl字符串示例,需要的朋友可以參考下2014-04-04JavaScript中的setUTCDate()方法使用詳解
這篇文章主要介紹了JavaScript中的setUTCDate()方法使用詳解,是JS入門(mén)學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-06-06JavaScript實(shí)現(xiàn)表單元素的操作
這篇文章介紹了JavaScript操作表單元素的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-05-05JavaScript學(xué)習(xí)筆記整理_用于模式匹配的String方法
下面小編就為大家?guī)?lái)一篇JavaScript學(xué)習(xí)筆記整理_用于模式匹配的String方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-09-09對(duì)JavaScript客戶(hù)端應(yīng)用編程的一些建議
這篇文章主要介紹了對(duì)JavaScript客戶(hù)端應(yīng)用編程的一些建議,主要針對(duì)MVC框架框架的一些相關(guān)使用問(wèn)題,需要的朋友可以參考下2015-06-06