文章出處

  ?的用途。

  小任務:匹配一段網址如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后還可以用多個

  從后面的幾節開始,我們將會進入到實戰篇。

本節完。


文章列表


不含病毒。www.avast.com
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()