正则表达式

介绍正则表达式:

作用:匹配字符串

适用范围:在所有编程语言中都适用

组成:是由元字符或限字符组成的一个式子

元字符(其实元字符和限字符统称为元字符)

.  表示的是:除了\n以外的任意的一个字符   "fdsfs238"
[] 表示的是:范围,  [0-9] 表示的是0到9之间的任意的一个数字,  "789" [0-9]
[1-7] 表示的是1到7之间的任意的一个数字
[a-z] 表示的是:所有的小写的字母中的任意的一个
[A-Z] 表示的是:所有的大写的字母中的任意的一个
[a-zA-Z] 表示的是:所有的字母的任意的一个
[0-9a-zA-Z] 表示的是: 所有的数字或者是字母中的一个
[] 另一个函数: 把正则表达式中元字符的意义干掉    [.] 就是一个.
| 或者     [0-9]|[a-z] 表示的是要么是一个数字,要么是一个小写的字母
() 分组 提升优先级   [0-9]|([a-z])|[A-Z]
* 表示的是:前面的表达式出现了0次到多次
+  表示的是:前面的表达式出现了1次到多次
?  表示的是:前面的表达式出现了0次到1次,最少是0次,最多1次 ,另一个含义:阻止贪婪模式


限定符:限定前面的表达式出现的次数


{} 更加的明确前面的表达式出现的次数
{0,} 表示的是前面的表达式出现了0次到多次,和 *一样的
{1,} 表示的是前面的表达式出现了1次到多次,和 +一样的
{0,1} 表示的是前面的表达式出现了0次到1次,和 ?一{5,10} 表示的是前面的表达式出现了5次到10次
{4} 前面的表达式出现了4次
{,10} 错误的========不能这么写
^ 表示的是以什么开始,或者是取非(取反)
     ^[0-9] 以数字开头 ^[a-z] 以小写字母开始 [^0-9] 取反,非数字 [^a-z] 非小写字母
$ 表示的是以什么结束   [0-9][a-z]$  必须以小写字母结束
^[0-9][a-z] 相当于是严格模式   "3f2432e"  "4f"
\d 数字中的任意一个,
\D 非数字中的一个
\s 空白符中的一个
\S 非空白符
\w 非特殊符号
\W 特殊符号
\b 单词的边界

总结


. 除了\n以外的任意一个单个字符
[]  范围
() 分组,提升优先级
| 或者
* 0-多次
+ 1-多次
? 0-1次
{0,} 和*一样
{1,} 和+
{0,1} 和?_
^ 取反,以什么开始
$ 以什么结束


常见(用)的正则表达式

1 身份证的正则表达式

//15位或者18位
    ([1-9][0-9]{14})|([1-9][0-9]{16}[0-9xX])
    ([1-9][0-9]{14})([0-9]{2}[0-9xX])?

2 座机号码的正则表达式

//010-19876754
//0431-87123490
    [0-9]{3,4}[-][0-9]{8}
    \d{3,4}[-]\d{8}
    \d{3,4}[-][0-9]{8}

3 qq号码的正则表达式

    [1-9][0-9]{4,10}
    \d{5,11}

4 手机号码的正则表达式

* 130 131 132 133 134 135 136 137 138 139
* 143 147
* 150 151 152 153 154 155 156 157 158 159
* 170 171 173 176 177
* 180 181 182 183 184 185 186 187 188 189
    ([1][358][0-9][0-9]{8})|([1][4][37][0-9]{8})|([1][7][01367][0-9]{8})
    \d{11}

5 邮箱的正则表达式,必须要记住的

*sd2113_3.-fd@itcast.com.cn
    [0-9a-zA-Z_.-]+[@][0-9a-zA-Z_.-]+([.][a-zA-Z]+){1,2}

正则表达式创建对象

函数创建

  //对象创建完毕---
  var reg=new RegExp(/\d{5}/);
  //调用方法验证字符串是否匹配
  var flag=reg.test("我的电话是10086");
  console.log(flag);

字面量创建

//字面量的方式创建正则表达式对象
    var reg=/\d{1,5}/;
    var flag=reg.test("小苏的幸运数字:888");
    console.log(flag);

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值