TypechoJoeTheme

快把钟哥带走

zyz

网站页面
标签搜索

16、JavaScript-正则表达式

zyz
2018-05-17
/
0 评论
/
926 阅读
/
正在检测是否收录...
05/17

一、正则表达式基础1

  • 复习字符串操作
    search 查找

substring 获取子字符串
charAt 获取某个字符
split 分割字符串,获取数组

  • 找出字符串中所有数字
    1、用传统字符串操作完成

2、用正则表达式完成

二、正则表达式基础2

  • 什么是正则表达式
    1、什么叫"正则" --> 规则、模式

2、强大的字符串匹配工具
3、是一种正常人很难读懂的文字

  • 正则表达式(RegExp)
    1、js风格 —> new RegExp("a", "b")

2、perl风格 —> /a/i

  // 参数1: 检测字符串是否包含'a'
  // 参数2: 'i'表示忽略大小写
  var re = new RegExp('a');
  var re = new RegExp('a','i');

  // 简写
  var re = /a/;
  var re = /a/i;

三、字符串与正则配合

  • search(搜索) 字符串搜索
    1、返回出现的位置(不存在返回-1)

2、忽略大小写: i (ignore)
3、判断浏览器类型

  • match(匹配) 获取匹配的项目
    1、量词: + (表多个)

2、量词变化: d、dd、d+
3、全局匹配: g (global)
(例如: 找出所有数字)

  • replace(替换) 替换所有匹配
    1、返回替换后的字符串

(例如: 敏感词过滤)

四、字符类

【在方括号中的,都是单个字符的,不管是里面是什么】

  • 任意字符 [abc]
    例如: o[abc] —> oa/ob/oc
  • 范围 [a-z]、[0-9]
    例如: 班级[0-9] —> 班级1/班级2..班级9
  • 排除 1 (除了a以外的都可以)
    例如: ab2 — abd/ab?/ab …
  • 组合 [a-z0-9A-Z] (字母和数字)
  • 转义字符
    1、 .(点) —> 表示任意字符

      ' . ' 点表示所有字符
      ' .+ ' 表示许多个任意字符

    2、d —> 表示[0-9],即数字

3、D —> 表示2,即除了数字
4、w —> 表示[a-zA-Z0-9_],即数字字母下划线
5、W —> 表示3,即除了数字字母下划线
6、s —> 表示空白空格制表符
7、S —> 除了空格以外的
【如果就是需要输入点这个字符,请进行转义 “.” 】

案例: 将小说转换过来

 rel = /<[^<>]+>/g;        str.replace(rel, ‘’);

五、量词

  • 什么是量词
    1、出现的次数

2、{n,m}至少出现n次,最多m次

  例如: 查找QQ号
  • 常用量词
    1、{n,} 至少n次

2、* 任意次(可以出现也可以不出现,不建议使用 {0,}
3、? 零次或一次 {0,1}
4、+ 一次或任意次 {1,}
5、{n} 正好n次

六、高级表单校验

  • 校验邮箱
    1、行首行尾 (^行首,$行尾,一般的校验都需要加上这,避免只有一部分符合规则)
/^\w+@[0-9a-z]+\.[a-z]{2,4}$/

2、去掉空格

 ^\s*|\s*$
  • 匹配中文: [u4e00-u9fa5]

  1. a
  2. 0-9
  3. a-zA-Z0-9_
赞(0)
评论 (0)