這篇文章給大家介紹如何在JavaScript中使用RegExp 對象,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
1.基本用法
<script> // 創建正則 var reg = /hello/ // 檢測某個字符串是否有符合正則格式的文本 var flag = reg.test("hello world") console.log(flag) // true </script>
2.修飾符
修飾符用于執行區分大小寫和全局匹配
i 不區分大小寫
g 全局匹配
<script> // 默認會區分大小寫 var reg = /hello/ var flag = reg.test("Hello World") console.log(flag) // false // 添加i修飾符 不區分大小寫 var reg2 = /hello/i var flag2 = reg2.test("Hello World") console.log(flag2) // true var str = "I'm in a bad mood, really bad" // 默認非全局匹配 var reg3 = /bad/ var newStr = str.replace(reg3,"good") // 只替換了一個bad console.log(newStr) // I'm in a good mood, really bad // 全局匹配 var reg4 = /bad/g var newStr2 = str.replace(reg4,"good") // 替換了全局的bad為good console.log(newStr2) // I'm in a good mood, really good // 同時使用 var reg5 = /bad/gi </script>
3.元字符
元字符是擁有特殊含義的字符:
. 查找單個字符,除了換行和行結束符。(通俗的說是任意字符)
\d 匹配數字0-9
\D 匹配非數字
\s 匹配任意空白字符(不局限空格)
\S 匹配非空白字符
\w 元字符用于查找單詞字符。(單詞字符包括:a-z、A-Z、0-9,以及下劃線)
\W 元字符用于查找非單詞字符。
4.方括號
方括號用于查找某個范圍內的字符
[abc] 匹配中括號中存在的一個字符(a,b,c中的一個)
[^abc] 匹配中括號中不存在的一個字符(除a,b,c中以外的字符)
[0-9] 查找任何從 0 至 9 的數字。
[a-z] 查找任何從小寫 a 到小寫 z 的字符。
[A-Z] 查找任何從大寫 A 到大寫 Z 的字符。
[A-z] 查找任何從大寫 A 到小寫 z 的字符。
5.量詞
\d{6} 匹配6個數字
\d{4,6} 匹配4到6個數字
\d{4,} 匹配至少4個數字
? 0或1 超出1個不匹配
+ 至少1個
* 0個或多個
.*會盡可能的匹配更長的字符(貪婪)
.*?會盡可能的匹配更短的字符(禁止貪婪)
\d{4,6} 會盡可能的匹配更長的字符(貪婪)
\d{4,6}? 會盡可能的匹配更短的字符(禁止貪婪)
6.邊界匹配
^n 匹配任何開頭為 n 的字符串。
n$ 匹配任何結尾為 n 的字符串。
7.實例
匹配手機號
var reg = /^1\d{10}$/;
匹配QQ號
var reg = /^[1-9]\d{4,10}$/;
匹配身份證號
var reg = /^[1-9]\d{16}[Xx\d]$/;
變量名檢測(只能由字母,數字,下劃線組成,且不能以數字開頭,長度6-15)
var reg = /^[A-z_]\w{5,14}$/;
8.相關方法
test():檢測正則表達式是否能在指定字符串中查找到匹配的文本
<script> var str = "hi66morning77" // 匹配連續的3個數字 var reg = /\d{3}/ console.log(reg.test(str)) // false // 匹配連續的7個小寫字母 var reg2 = /[a-z]{7}/ console.log(reg2.test(str)) // true </script>
match():查找字符串,將符合正則表達式規則的文本以數組形式返回,如果沒有指定全局匹配,則只查找一次。找不到就返回null
<script> var str = "hi66morning77" // 匹配連續的2個數字 非全局匹配 var reg = /\d{2}/ console.log(str.match(reg)[0]) // 66 // 匹配連續的2個數字 全局匹配(推薦) var reg2 = /\d{2}/g console.log(str.match(reg2)) // ["66", "77"] </script>
search():返回目標自字符串第一次出現的索引值(所以全局匹配被忽略)
<script> var str = "hi66morning77" // 匹配連續的2個數字 非全局匹配 var reg = /\d{2}/ console.log(str.search(reg)) // 2 // 匹配a,b,m中的一個 var reg2 = /[abm]/ console.log(str.search(reg2)) // 4 </script>
關于如何在JavaScript中使用RegExp 對象就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
另外有需要云服務器可以了解下創新互聯scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
新聞標題:如何在JavaScript中使用RegExp對象-創新互聯
網站路徑:http://vcdvsql.cn/article42/ddjcec.html
成都網站建設公司_創新互聯,為您提供關鍵詞優化、網站收錄、企業網站制作、軟件開發、網站導航、做網站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯