(……續例6)ide
例7:擇一匹配spa
- void function reg_07()
- {
- var s1 = "0",
- s2 = "0.23",
- s3 = "100",
- s4 = "100.01",
- s5 = "9.9",
- s6 = "99.9",
- s7 = "99.",
- s8 = "00.1",
- s9 = "05",
- s10 = "100.00",
- s11 = "100.",
- s12 = "+100.000";
- var r = /^\+?((100(.0+)?)|([1-9]?[0-9])(\.\d+)?)$/g; //匹配0到100的數
- for (i = 1; i <= 12; i++)
- {
- t = "alert(s" + i + ".match(r));"
- eval(t);
- }
- }
這是一個匹配0到100數字的簡單版本。
(.0+)?符號中的括號表示.0+是一個總體,後面的?符號表示該總體能夠出現0次或1次,即100後面要麼什麼都沒有,要麼有小數點的同時還必須有1個或多個0。
一樣(\.\d+)?也是同樣的道理,即若是有小數點則後面必須有數字。
中間的|符號表示必選其中之一,即要麼包含三位整數,要麼包含1位或兩位整數。
這其中,()符號起到了分組的做用,與四則運算中的括號是相似的。
運行結果:s一、s二、s三、s五、s六、s十、s12是能夠匹配的。string
(未完待續……)it