正則表達式在程式應用中的使用是非常廣泛的。 首先正則表達式一般要寫兩個斜杠之間:/正則表達式/ 其次有兩個符號 ^ 和 $ ,符號 ^ 代表一個字元串的開始,而 $ 則代表一個字元串的結束。 舉個例子: 這裡聲明一個字元串str,聲明一個select,表示所有以asd開頭的字元串。 表示所有以jkl ...
正則表達式在程式應用中的使用是非常廣泛的。
首先正則表達式一般要寫兩個斜杠之間:/正則表達式/
其次有兩個符號 ^ 和 $ ,符號 ^ 代表一個字元串的開始,而 $ 則代表一個字元串的結束。
舉個例子:
1 <script>
2 var str='asdfghjkl';
3 var select=/^asd/;
4 </script>
這裡聲明一個字元串str,聲明一個select,表示所有以asd開頭的字元串。
1 <script>
2 var str='asdfghjkl';
3 var select=/jkl$/;
4 </script>
表示所有以jkl結尾的字元串。
但是要如何應用這個正則表達式呢?這時就要用到test()方法了
test()方法用於檢測一個字元串是否匹配某個模式
接上個代碼,其格式為:
1 select.test(str)
這個代碼是有返回值的,如果str確實符合正則表達式要求,則返回true,否則返回false,因此可以使用條件語句if來使用它。
例如:
1 <script>
2 var str='asdfghjkl';
3 var select=/jkl$/;
4 if(select.test(str)){
5 alert(str);
6 }else{
7 alert('字元串不符合要求!');
8 }
9 </script>
符合要求則彈出該字元串,否則彈出‘字元串不符合要求!’。
正則表達式有很多語法,除了上述內容之外,還有:
/^abc$/ : 以abc開頭並且以abc結尾的字元串。
/abc/ : 任何位置包含abc的字元串。
/ab*/ : 一個字元串有一個a後面跟著0或者若幹個b。。。
/ab+/ : 一個字元串有一個a後面跟著一個或者更多b。
/ab?/ : 一個字元串有一個a後面跟著0個或者一個b。
/a?b+$/: 一個字元串末尾有0個或者一個a跟著一個或幾個b。。。
/ab{2,}/: 一個字元串有一個a跟著至少兩個b。
/ab{2,3}/: 一個字元串有一個a跟著至少二到三個b。
大括弧表示範圍,可以沒有最大範圍,但一定要有最小範圍
+,$,*都可以用{範圍}來表示
/abc|abd/ : 一個字元串中有abc或者abd。
/(abc|abd)ef/ : 一個字元串含有abcef或者abdef。
/(a|b)*c/ : 表示一個字元串以a,b混合後面跟著一個c。
/a.[0-9]/ : 表示一個字元串有一個a後面跟著任意一個字元和一個數字。
/^.{3}$/ : 表示有任意三個字元的字元串。(長度為三個字元)
/[ab]/ : 表示字元串有一個a或b。
/[0-9]%/ : 表示一個百分號前有一位的數字。
/[a-g]/ : 表示一個字元串中包含小寫字母a到g中的一個。
/^[a-zA-z]/ : 表示以一個字母開頭的字元串。
/,[a-zA-z0-9]$/ : 表示一個字元串以一個逗號跟著一個字母或者數字結束。