正则及举例

正则及举例

1.基本元字符

1> . 表示任一个非换行的字符

2> () 表示分组和提高优先级

3> [] 表示一个字符, 出现在 [] 中的字符

4> | 或

var rega = /./
        var stra = 'adf'
        console.log(rega.test(stra)); //true
        var reg = /[as]/ // 匹配a或s
        var reg1 = /[f]/
        var str = 'fadf'
        console.log(reg.test(str)); //true
        console.log(reg1.test(str)); //true
        var reg3 = /|/ //允许匹配多个字符
        console.log(reg3.test(str)); //true

2.转义字符:

表示点: .

表示[]: [ ]

表示(): ( )

表示\ : \

 var reg4 = /\(asdf\)/
        var str4 = '(asdf)'
        console.log(reg4.test(str4)); //true
        var reg5 = /\[ert\]/
        var str5 = '[ert]'
        console.log(reg5.test(str5)); //true
        var reg6 = /han@\.com/
        var str6 = 'han@.com'
        console.log(reg6.test(str6)); //true
        var reg7 = /han@\/\com/
        var str7 = 'han@\com'
        console.log(reg7.test(str7)); //true

3.限定元字符

1 * 紧跟前面的一个字符或一组字符出现 0 次到多次

2 + 紧跟在前面的字符出现 1 次到多次

3 ? 紧跟在前面的字符出现 0 次或 1 次

4 {数字} 紧跟在前面的字符出现指定次数

5 {数字,} 紧跟在前面的字符至少出现指定次数

6 {数字, 数字} 紧跟在前面的字符出现的次数范围

 var reg = /12*/ //*紧跟前面的字符0次到多次
        var reg1 = /45*/
        var str = '23412'
        console.log(reg.test(str)); //true
        console.log(reg1.test(str)); //true

        var reg2 = /32+/ //+紧跟前面的字符出现1次到多次
        var str2 = '12343232'
        var str3 = 'wqe3134'
        console.log(reg2.test(str2));
        console.log(reg2.test(str3)); //false

        var reg3 = /34?/ //?紧跟前面的字符出现0次或1次
        var str4 = 'df3432'
        var str5 = '3509238'
        console.log(reg3.test(str4));
        console.log(reg3.test(str5));
        var reg4 = /a{2}/ //紧跟a后面的字符串 要出现2次
        var str6 = 'aa3454j'
        var str7 = 'ahjkada'
        console.log(reg4.test(str6)); //true
        console.log(reg4.test(str7)); //false  必须紧跟

        var reg5 = /[ab]{2,}/ //紧跟ab后面的字符串 最少出现2次
        var str8 = 'ab3454j'
        var str9 = 'ahjkadabab'
        console.log(reg5.test(str8)); //true
        console.log(reg5.test(str9)); //false  必须紧跟

4.首尾正则表达式

^ 表示必须以 xxx 开头

$ 表示必须以 xxx 结尾

//匹配手机号
        var reg = /^1[3,8,7][1-9]{9}$/
        var str = '18739485432'
        console.log(reg.test(str));

5.简写元字符

\s 空白字符, 包括空格, tab, 回车换行等

\S 非空白字符

\w 表示字符, 包含字母, 数字, 下划线.

\W 非字符

\d 数字

\D 非数字

  var reg = /\d/ //\d表示数字  \D表示非数字
        var reg1 = /\D/
        var str = '23'
        console.log(reg.test(str));
        console.log(reg1.test(str));

        var reg2 = /\w/ //\w表示字符 数字 下划线 字母  \W表示非字符
        var str1 = '23sf_'
        console.log(reg2.test(str1));
        var reg3 = /\W/ //\w表示字符 数字 下划线 字母  \W表示非字符
        var str2 = ' '
        console.log(reg3.test(str2));

        var reg4 = /\s/ //\s表示空白字符  \S表示非空白字符
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值