Js 正則表達(dá)式知識(shí)匯總
正則表達(dá)式:
1、什么是RegExp?RegExp是正則表達(dá)式的縮寫。RegExp 對(duì)象用于規(guī)定在文本中檢索的內(nèi)容。
2、定義RegExp:var +變量名=new RegExp();
3、RegExp 對(duì)象有 3 個(gè)方法:
1)test()檢索字符串中的指定值,返回值是true或false.
var p1=new Reg("e");
document.write(Reg.test("welcome to China!"));
2)exec()
var p1=new Reg("e");
document.write(Reg.exec("welcome to China!"));
3) compile()
var p1=new Reg("e");
document.write(Reg.compile("welcome to China!"));
4、修飾符
1)i 執(zhí)行對(duì)大小寫不敏感的匹配
2)g 執(zhí)行全局匹配
3)m 執(zhí)行多行匹配
5、方括號(hào)(用于查找某個(gè)范圍內(nèi)的字符)
1)[abc] 查找方括號(hào)之間的任何字符
2)[^abc] 查找任何不在方括號(hào)之間的字符
3)[0-9] 查找任何0-9之間的數(shù)字
4)[a-z] 查找任何小寫a-z之間的字符
5)[A-Z]查找任何大寫A-Z之間的字符
6)[A-z] 查找任何大寫A-小寫z之間的字符
7)[adgk] 查找給定集合內(nèi)的任何字符
8)[^adgk]查找給定集合外的任何字符
9)(red|biue|green)查找任何給定的選項(xiàng)
6、元字符
1)\w:查找單詞字符
2)\W:查找非單詞字符
3)\d:查找數(shù)字
4)\D:查找非數(shù)字字符
7、 量詞
n+匹配任何包含至少一個(gè) n 的字符串。
n*匹配任何包含零個(gè)或多個(gè) n 的字符串。
n?匹配任何包含零個(gè)或一個(gè) n 的字符串。
n{X}匹配包含 X 個(gè) n 的序列的字符串。
n{X,Y}匹配包含 X 或 Y 個(gè) n 的序列的字符串。
n{X,}匹配包含至少 X 個(gè) n 的序列的字符串。
n$匹配任何結(jié)尾為 n 的字符串。
^n匹配任何開(kāi)頭為 n 的字符串。
?=n匹配任何其后緊接指定字符串 n 的字符串。
?!n匹配任何其后沒(méi)有緊接指定字符串 n 的字符串。
【練習(xí)題1】判斷輸入身份證格式是否正確
<body>
<label>請(qǐng)輸入身份證號(hào):</label>
<input name="" type="text" id="shenfen"/>
<input name="" type="submit" id="textfi" value="提交1" onclick="test()"/><!--提交按鈕,觸發(fā)函數(shù)-->
</body>
</html>
<!--判斷身份證是否輸入正確-->
<script>
function test()
{
var reg=new RegExp(/^[0-9]{17}[0-9|X]$/);<!--正則表達(dá)式的格式:以/^開(kāi)頭,以$/結(jié)尾,數(shù)字、字母范圍用中括號(hào)-->
var text=document.getElementById("shenfen").value;<!--輸入文本框的字符串的id跟文本框的id對(duì)應(yīng)-->
//判斷地區(qū)是否合法(用if...else)
if(reg.test(text))
{
alert("輸入正確")
}
else
{
alert("輸入錯(cuò)誤");
}
}
</script>
效果圖:
【練習(xí)題2】判斷輸入的郵箱格式是否正確
<body>
<label>請(qǐng)輸入您的郵箱:</label>
<input name="" type="text" id="youxiang"/>
<input name="" type="submit" value="提交2" onclick="y()" />
</body>
</html>
<script>
function y()
{
var yx=new RegExp(/^[0-9|A-z|_]{1,17}@[A-z|0-9]{1,5}.(com|cn|net|org|cc)$/);
var shuru=document.getElementById("youxiang").value; <!--定義變量,調(diào)用的是整個(gè)function,,必須把變量寫在function內(nèi)-->
if(yx.test(shuru))<!--test正則表達(dá)式的方法-->
{
alert("zhengque");
}
else
{
alert("cuowu");
}
}
</script>
效果圖:
相對(duì)來(lái)說(shuō),js中正則表達(dá)式是一個(gè)很重要的點(diǎn),很多地方都需要配合正則才行,所以小伙伴一定要學(xué)好這塊內(nèi)容。
相關(guān)文章
JavaScript利用Date實(shí)現(xiàn)簡(jiǎn)單的倒計(jì)時(shí)實(shí)例
在日常開(kāi)發(fā)的時(shí)候經(jīng)常遇到關(guān)于倒計(jì)時(shí)的需求,下面這篇文章就給主要介紹了JavaScript利用Date實(shí)現(xiàn)倒計(jì)時(shí)效果的方法示例,文中主要實(shí)現(xiàn)了倒計(jì)時(shí)和倒計(jì)時(shí)結(jié)束搶購(gòu)的按鈕才可以被點(diǎn)擊的效果,有需要的朋友可以參考借鑒。2017-01-01JS實(shí)現(xiàn)線性表的順序表示方法示例【經(jīng)典數(shù)據(jù)結(jié)構(gòu)】
這篇文章主要介紹了JS實(shí)現(xiàn)線性表的順序表示方法,簡(jiǎn)單分析了線性表的原理并結(jié)合實(shí)例形式給出了線性表的插入與刪除實(shí)現(xiàn)技巧,需要的朋友可以參考下2017-04-04Knockout結(jié)合Bootstrap創(chuàng)建動(dòng)態(tài)UI實(shí)現(xiàn)產(chǎn)品列表管理
這篇文章主要為大家詳細(xì)介紹了Knockout結(jié)合Bootstrap創(chuàng)建動(dòng)態(tài)UI實(shí)現(xiàn)產(chǎn)品列表管理,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-09-09javascript表單驗(yàn)證使用示例(javascript驗(yàn)證郵箱)
JavaScript可用來(lái)在數(shù)據(jù)被送往服務(wù)器前對(duì)HTML表單中的這些輸入數(shù)據(jù)進(jìn)行驗(yàn)證2014-01-01微信小程序?qū)崿F(xiàn)動(dòng)態(tài)渲染Markdown示例詳解
這篇文章主要為大家介紹了微信小程序?qū)崿F(xiàn)動(dòng)態(tài)渲染Markdown示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08JavaScript實(shí)現(xiàn)Fly Bird小游戲
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)Fly Bird小游戲的制作方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-12-12js 手機(jī)號(hào)碼合法性驗(yàn)證代碼集合
下面是JS驗(yàn)證電話號(hào)碼的代碼,很實(shí)用,獻(xiàn)給大家2012-09-09