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

相关文章
相关标签/搜索