JS总结(二)正则表达式


正则表达式中字母含义:

       /i : 忽略大小写
      /g :全文查找出现的所有匹配字符
      /m:多行查找
      /gi:全文查找、忽略大小写
      /ig:全文查找、忽略大小写

        .      :表示任意一个字符

        ?   :表示可以有也可以没有,相当于{0,1}

         +    :表示1到对,相当于{1,n}

         *     :表示0到多,相当于{0,n}

         |     :选择符,表示或

1.以...开头。本例中查找以“中”字开头的字符。match方法根据正则表达式是否是全文查找返回不同结果,如果不是全文查找则返回第一次出现的匹配字符,否则返回数组。

var reg = /^中/g;
var str = "中国万岁,中爱中国";
var found = str.match(reg);
alert(found);

2.以....结尾。本例中查找以字符“t”结尾的字符

var reg = /t$/g;
var str = "good foot got god get";
var found = str.replace(reg,"xx");
alert(found);

3.查找以特定字符开头以特定字符结尾,中间有一个任意字符的词。本例以“想”开头,以“想”结尾,中间有一个任意字符

var reg = /想.想/g;
var str = "想一想,看一看,想想看,想想想,的想看想吧想";
var found = str.match(reg);
alert(found);

4.字符集[...] 多选一  [^..]表示一个都不能选.本例中表示以g开头以t结尾,在g与t之间的两个字母为e或o的单词。

var reg = /g[eo][eo]t/g;
var str = "get geot gat abc got goot geet";
var found = str.match(reg);
alert(found);

5.限定字符类型。[a-z]表示从a到z的所有小写字母,[A-Z]表示从a到z的所有小写字母,[0-9]表示从0到9的所有数字。本例中验证字符"A"是否是a~z之间的字符。

var reg = /^[a-z]$/;
var str = "A";
if(reg.test(str))
{
    alert("验证通过");
}
else
{
    alert("验证未通过");
}

6.以三个数字开始,以三个数字结束,结果是只能是三个数字。

var reg =/^\d\d\d$/g;
var str = "123";
var t = reg.test(str);
if(t)
{
      alert("验证通过");
}
else
{
      alert("验证未通过");
}

7.规定只能输入的位数。\d{n}:n位数字,\d{n,n1]n至n1位数字,\w(n,)n个字符以上。

var reg =/^\d{6,18}$/g;
var str = "123456";
var t = reg.test(str);
if(t)
{
     alert("验证通过");
}
else
{
     alert("验证未通过");
}

8.?表示可以有也可以没有,如本例中可以有2也可以没有2.

var reg = /12?3/g; 
var str = "123 3564 1223 132 13";
var temp = str.match(reg); 
alert(temp);

9.其他正则表达式

var reg = /\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/g;   //验证邮箱格式
var reg = /^\d{5,9}$/g;                                     //匹配QQ号码
var reg =/^\d+(\.\d+)?$/;                                   //匹配分数
var reg = /^[\u4e00-\u9f5a]+$/g;                            //匹配一连串的中文
var reg = /^\s+$/;                                          //匹配一连串的空格


你可能感兴趣的:(JS总结(二)正则表达式)