js正則表達式test()用(yòng£±)法詳解一(yī)覽。返回一(yī)個(g∑λè)Boolean值,它指出在被查找的(de)↑✔♣字符串中是(shì)否匹配給出的(de)正則表達式。®φ₹
rgexp.test(str)
參數(shù)
rgexp
必選項。包含正則表達式模式或可(kě)<γ$用(yòng)标志(zhì)的(de)正則表α±達式對(duì)象。
str
必選項。要(yào)在其上(shàng)測試查找的(¶™↓de)字符串。
說(shuō)明(míng)
test方法檢查字符串是(shì)否與給出的(de)正則表達式模式± ®相(xiàng)匹配,如(rú)果是(shì)則返回true,否 ± ★則就(jiù)返回false。
每個(gè)正則表達式都(dōu)有(yǒu)一(yī)→&ε個(gè)lastIndex屬性,用(yòng)于記ε♣₽©錄上(shàng)一(yī)次匹配結束的(de)位置
代碼如(rú)下(xià) 複制(zhì₩¥¶≠)代碼
varre=/^[1-9]d{4,10}$/gi;
varstr="123456&q±¥uot;;
alert(re.test(str));//返回©±✔γtrue
//執行(xíng)上(shàng)面的(de)tes₽φ♦t之後
我們可(kě)以彈出
代碼如(rú)下(xià) 複制(zhì)代碼₹✘
alert(re.lastIndex);//彈♠→ 出6
即表示上(shàng)一(yī)次在δ ↑¥第6個(gè)字符之後結束
那(nà)麽下(xià)一(yī)次再調用(₽←yòng)test的(de)時(shí)候,就(jiù)會(h'↔←uì)從(cóng)第6個(gè)字符之後繼續搜∞£索
解決辦法,将正則表達式的(de)las ΩtIndex屬性設置為(wèi)0
具體(tǐ)代碼如(rú)下(xià)≠₽:
代碼如(rú)下(xià) 複制(zhì)代碼
<scripttype="text/javascriλβΩpt">
varre=/^[1-9]d{4,10}$/gi;
varstr="123456";
alert(re.test(str)β✔>π);//返回true
str="1234567";
re.lastIndex=0;
alert(re.test(str));//α•"返回true
</script>
例2
代碼如(rú)下(xià) 複制(zhì)代碼
functiontestDemo(∏){
varr,re;//聲明(míng)變量。
vars="I";
re=/I/ig;//創建正則表達式模式。
document.write(re.test✔☆π (s)+"<br/>");//返回Boole♠ ₽an結果。
document.write(re.test(s)+"&≈ lt;br/>");
document.write(re.test(s));
}
testDemo();
輸出結果:
true
false
true
JavaScript表單驗證emai≤±l郵箱,判斷一(yī)個(gè)輸入量是(shì)否為(w ®∑≤èi)郵箱email,通(tōng)過正則表達式實現(xiàn)。
//檢查email郵箱
代碼如(rú)下(xià) 複制(zhì)代碼§ε≤
<!DOCTYPEHTMLPUB ↑♥LIC"-//W3C//DTDHTML4.0Tra♦¥✔nsitional//EN">
<HTML>
<HEAD>
<TITLE>JavaScript表單驗證eε→β•mail郵箱</TITLE>
</HEAD>
<BODY>
<scriptlanguage=&qu ot;javascript"&±★↓→gt;
functioncheck(){
varemail=document.getElement✘↔©ById("email").value;×¶"≠
varisemail=/^w+([-.]w+)*@w+♠φ'α([.-]w+)*.w{2,4}$/;
if(email==""){
alert("請(qǐng)輸入您的(↕$de)郵箱!");
returnfalse;
}
if(email.length>25){
alert("長(cháng)度太長(cháng)&qu± ™ot;);
returnfalse
}
if(!isemail.test(email)){
alert("不(bù)是(shì)郵箱");
returnfalse;
}
}
</script>
<FORMMETHOD=POSTACTION=" β"onsubmit="returncheck()"★¥">
<INPUTTYPE="text"NAME=♦★★"email">£<'<INPUTTYPE="submit">
</FORM>