正規表示式的使用
先說RegExp物件的一個方法
test()
- 使用這個方法可以用來檢查一個字串是否符合正規表示式的規則,如果符合則返回true,否則返回false。
1、用正規表示式來檢查一個字串中是否含有字母a
var reg = new RegExp("a");
var s="abcdef";
console.log(reg.test(s));
建立了一個RegExp物件reg,匹配規則是含有字母a,匹配模式沒寫,然後建立一個字串s,reg呼叫方法test()檢查是否符合匹配規則。s字串中含有字母a,所以返回true。
2、用正規表示式來檢查一個字串中是否含有字母A,大寫的A該怎麼辦呢?匹配模式設定為"i",對大小寫不敏感。無論是大小寫,含有a就行。
var reg = new RegExp("a","i");
var s="abcdef";
var s1="A2dffdf";
var s2="fgjdhgfd";
console.log(reg.test(s));
console.log(reg.test(s1));
console.log(reg.test(s2));
3、 建立一個正規表示式,檢查一個字串中是否有a或b
var reg = /a|b/; //這裡使用直接量方式建立了一個正規表示式 var reg=/正規表示式/匹配模式
var s="abcd";
var s1="acd";
var s2="bcd";
var s3="cdef";
console.log(reg.test(s));
console.log(reg.test(s1));
console.log(reg.test(s2));
console.log(reg.test(s3));
4、 建立一個正規表示式檢查一個字串中是否有字母。26個字母,不可能 a|b|c|d|e.......這樣寫吧。這裡可以使用[],[ab]其實和a|b的意思一樣,就是含有a或b之中的一個。所以26個字母就[abcdefghi......],當然不會這麼寫。答案是[a-z],表示字母a到z。所以有一些結論:
[a-z] 任意小寫字母
[A-Z] 任意大寫字母
[A-z] 任意字母
[0-9] 任意數字
var reg=/[A-z]/
var s="a12356654";
var s1="4545552";
console.log(reg.test(s));
console.log(reg.test(s1));
5、檢查一個字串中是否含有 abc 或 adc 或 aec。
答案:reg = /a[bde]c/;
6、檢查一個字串是否含有ab字母以外的字元。
var reg=/[^ab]/;
var s="ab";
var s1="123";
var s2="ab123";
console.log(reg.test(s));
console.log(reg.test(s1));
console.log(reg.test(s2));