js正则表达式

转义字符:

    .:任意字符
     \d(digital):数字 [0-9]
     \w(world) :[a-z0-9_]
     \s(space) :空白字符
      \n:换行符
      \r:回车符
      \f:换页符
      \t:制表符
      \v:垂直制表符

量词:
     {n,m}:最少n次,最大m次
     {n,} :至少是n
     * :任意字符 {0,}
     ? :0次或者一次 {0,1}
     + :一次或任意次{1,}
     {n}:正好n次

     ( ):

字符串方法

      match():匹配

    replace():替换

     search():查找位置

          split():分割

正则方法

         test():检索字符串指定的值,返回true或者false

        exec():检索字符串指定的值,返回找到的值,并确定其位置

   compile(): 编译正则表达式

 

实例1:将aabb 改变为  bbaa

var str='aabb';
var reg=/(\w)\1(\w)\2/
// var str2= str.replace(reg,'$2$2$1$1')//replace 不改变原字符串
var str2= str.replace(reg,function($,$1,$2){
         return $2+$2+$1+$1
})
 console.log(str2)

实例2:将字符串  the-first-name  改为  thisFirstName

var str='the-first-name';
var reg=/-(\w)/g;
var str1=str.replace(reg,function($,$1){
      return $1.toUpperCase();
})
console.log(str1)

 实例3 (正向预查、正向断言) 查找字符串  abacad  里面的a但是在b前面

var str=abacad;
var reg=/a(?=b)/g;
//var reg=/a(?!b)/g; //非
str.macth(reg)

实例4:去掉字符串里的空格

let str='  hello   World   '
let re=/\s+/g
let newStr=str.replace(re,'')console.log('去掉字符串里的空格',newStr)

实例5:QQ号校验

let str='1246626118'
let re=/^([1-9]\d{4,10})$/
console.log('验证QQ',re.test(str))

实例6:邮箱校验

let str='1246626118@qq.com';
let re=/^\w+@[a-z0-9]+\.[a-z]{2,4}$/
console.log(re.test(str))

实例7:去掉首位的空格

let str='  hello world   ';
let re=/^\s+|\s+$/g
let newStr=str.replace(re,'')
console.log('去掉首位的空格','('+newStr+')')

实例8:检测中文

let str='传说的html';
let re=/[\u4e00-\u9fa5]/;
console.log('检测中文',re.test(str))
console.log('charAt',str.charAt(1))

实例9:手机号验证

let tel='15953173698';
let re=/^1[34578]\d{9}$/
console.log('手机号验证:'+re.test(tel))

实例10:去掉html标签

let str='<p class="title">helloworld/p>'
let re=/<[^<>]+>/g
console.log(str.replace(re,''))

实例11:获取网址参数

let str='http://www.XXXXXX.com/?userName=admin&pwd=123456';
console.log('参数:'+str.match(re)[0].match(/[^?&=]+/g))

 

posted @ 2018-07-31 11:58  (⊙o⊙)买噶  阅读(598)  评论(0编辑  收藏  举报