文章出處
文章列表
?的用途。
小任務:匹配一段網址如var str = "http://www.123.com/";注意http也可以是https
var str = "http://i.cnblogs.com/"; var reg = /https?:\/\/[a-z]+\.[a-z0-9]+\.[a-z]+\//; console.log(reg.exec(str)); //["http://i.cnblogs.com/", index: 0, input: "http://i.cnblogs.com/"]
?表示前面的那個字符0個或者1個因為/在js中有另外的含義所以我使用了轉義字符\
為了更深入的理解轉義字符,在來一個例子。
var str = "Array[5]";匹配這段代碼中的括號以及數字,數字可以是0-9中任意的一個,也許你會這樣寫
var str = "Array[5]"; var reg = /[0-9]/; console.log(reg.exec(str)); //["5", index: 6, input: "Array[5]"]
但是卻沒有匹配到[],因為[]在正則中有特殊含義,所以我們需要對它進行轉義。
var str = "Array[5]"; var reg = /\[[0-9]\]/; console.log(reg.exec(str)); //["[5]", index: 5, input: "Array[5]"]
第一個[]進行了轉義,第二個[]正常使用,因為我們只需要匹配一個[]
其實匹配數字或者字母并不一定需要使用a-z,我們也可以使用\d,\w \d表示任意一個數字,\w表示任意一個字母
var str = "Object"; var reg = /\w+/; console.log(reg.exec(str)); //["Object", index: 0, input: "Object"]
var str = "112113"; var reg = /\d+/; console.log(reg.exec(str)); //var str = "112113";
匹配郵箱小案例
var str = "html5@123.com.cn"; var reg = /[\d\w]+@[\d\w]+(\.[\w]+)+/; console.log(reg.exec(str)); //["html5@123.com.cn", ".cn", index: 0, input: "html5@123.com.cn"]
[\d\w]+用來匹配html5,[\d\w]+用來匹配123,(\.[\w]+)+用來匹配.com.cn只所以用()擴起來是因為我們需要把里面的內容當做一個整體,因為.com后還可以用多個
從后面的幾節開始,我們將會進入到實戰篇。
本節完。
文章列表
全站熱搜