美文网首页JavaScript
16、JavaScript-正则表达式

16、JavaScript-正则表达式

作者: EndEvent | 来源:发表于2017-05-18 21:46 被阅读107次

每天一句:梦想不是挂在嘴边炫耀的空气,而是需要认真的实践,等到对的风,我们展翅翱翔;没有风,只要拥有足够强壮的翅膀,我们照样拔地飞行,天空见面。

一、正则表达式基础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、\d\d、\d+
    3、全局匹配: g (global)
    (例如: 找出所有数字)

  • replace(替换) 替换所有匹配
    1、返回替换后的字符串
    (例如: 敏感词过滤)

四、字符类

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

  • 任意字符 [abc]
    例如: o[abc] —> oa/ob/oc

  • 范围 [a-z]、[0-9]
    例如: 班级[0-9] —> 班级1/班级2..班级9

  • 排除 [^a] (除了a以外的都可以)
    例如: ab[^0-9] — abd/ab?/ab …

  • 组合 [a-z0-9A-Z] (字母和数字)

  • 转义字符
    1、 .(点) —> 表示任意字符
    ' . ' 点表示所有字符
    ' .+ ' 表示许多个任意字符
    2、\d —> 表示[0-9],即数字
    3、\D —> 表示[^0-9],即除了数字
    4、\w —> 表示[a-zA-Z0-9_],即数字字母下划线
    5、\W —> 表示[^a-zA-Z0-9_],即除了数字字母下划线
    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]

相关文章

网友评论

    本文标题:16、JavaScript-正则表达式

    本文链接:https://www.haomeiwen.com/subject/rahexxtx.html