JavaScript正則表達式19例(7)

(……續例6)ide

例7:擇一匹配spa

  
  
           
  
  
  1. void function reg_07()  
  2. {  
  3.     var s1 = "0",   
  4.         s2 = "0.23",  
  5.         s3 = "100",  
  6.         s4 = "100.01",  
  7.         s5 = "9.9",  
  8.         s6 = "99.9",  
  9.         s7 = "99.",  
  10.         s8 = "00.1",  
  11.         s9 = "05",  
  12.         s10 = "100.00",  
  13.         s11 = "100.",  
  14.         s12 = "+100.000";  
  15.     var r = /^\+?((100(.0+)?)|([1-9]?[0-9])(\.\d+)?)$/g; //匹配0到100的數  
  16.     for (i = 1; i <= 12; i++)  
  17.     {  
  18.         t = "alert(s" + i + ".match(r));" 
  19.         eval(t);  
  20.     }  

這是一個匹配0到100數字的簡單版本。
(.0+)?符號中的括號表示.0+是一個總體,後面的?符號表示該總體能夠出現0次或1次,即100後面要麼什麼都沒有,要麼有小數點的同時還必須有1個或多個0。
一樣(\.\d+)?也是同樣的道理,即若是有小數點則後面必須有數字。
中間的|符號表示必選其中之一,即要麼包含三位整數,要麼包含1位或兩位整數。
這其中,()符號起到了分組的做用,與四則運算中的括號是相似的。
運行結果:s一、s二、s三、s五、s六、s十、s12是能夠匹配的。string

(未完待續……)it

相關文章
相關標籤/搜索