正则表达式

正则表达式_第1张图片

作用

字符匹配

定义

var reg = /正则表达式/标志

标志

  • i 不区分大小写 例如:/a/ /a/i "ABC"
  • g 全局
  • m 多行

使用方式

  • 判断字符串是否匹配正则表达式
正则表达式.test(字符串)
  • 从字符串中找出匹配正则表达式的字符串
正则表达式.exec(字符串)

语法

1. 字符表示(表示一个字符)

表示 含义 等价表示
\w ASCII字符a-zA-Z_0-9 [a-zA-Z_0-9]
\W 非ASCII字符 [^a-zA-Z_0-9]
\s 空白
\S 非空白
\d 数字0-9 [0-9]
\D 非数字 [^0-9]
[字符] 匹配任意字符
[ ^字符] 匹配以外的任意字符

2. 重复表示

表示 含义
{?} 0次或者1次
{+} 至少1次
{*} 0次或者多次
{n} 匹配n次
{n,} 匹配至少n次
{n,m} 匹配至少n次,至多m次

3.选择表示

表示 含义
l 选择

4.定位表示

表示 含义
^ 开始
$ 结束
\b 单词边界
\B 非单词边界

5.分组

表示 含义
() 组合到一起

举例

正则表达式_第2张图片
正则表达式_第3张图片
正则表达式_第4张图片

常用正则表达式

  • 第一个空格\w*\s

  • 行末空格\s*$

  • 金额校验,精确到2位小数

^[0-9]+(.[0-9]{2})?$
  • 由数字、26个英文字母或下划线组成的字符串
^\w+$
  • 校验E-Mail
[\w!#$%&'*+/=?^_`{|}~-]+(?:\.[\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\w](?:[\w-]*[\w])?\.)+[\w](?:[\w-]*[\w])?
  • 只能输入中文
^[\u4e00-\u9fa5]{0,}$
  • 15位身份证号码
^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$
  • 18位身份证号码
^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X)$
  • 校验13、15、18开头的手机号
^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\d{8}$

你可能感兴趣的:(正则表达式)