正则表达式

作用

  1. 主要用于表单校验,校验用户输入内容的格式是否符合我们的预期(匹配特殊字符或有特殊搭配原则的字符的最佳选择)

    1. 手机号:
    2. 短信验证码:
    3. 密码:
  2. 还可以从比较长的一段字符中提取想要的字符内容,(提取身份证号中的出生日期…)
  3. 还可以替换文本内容

正则表达式对象的创建

  1. 构造函数

    1. var pattern = new RegExp(“表达式内容”,“修饰符”)
    2. var pettern = new RegExp(“abc”,“ig”);
  2. 字面量
    1. var pettern = /正则表达式/修饰符

      var pattern = /abc/ig;

  3. 修饰符
    1. i:ignore case 忽略大小写
    2. m:multiline 多行匹配
      1. (\n)如果目标字符串中,有换行符,则执行换行匹配,如果没有\n,m修饰符毫无意义
    3. g:global 全词匹配
      1. 如果加了g修饰符,在匹配时会维护一个lastIndex的属性,用来记录当前匹配到字符串时的结束的位置,下次匹配会从lastIndex开始,如果没有g修饰符,那么lastIndex存在,一直为0。
      2. /abc/g aBcAbcabc
      3. true lastIndex
      4. 下一次匹配的时候,会从lastIndex开始
    4. 原型方法:
      1. exec(参数) 从参数中获取目标字符串

        1. 参数:字符串
        2. 返回值:类数组对象
          1. 数组:查询到的结果
          2. index:查询到结果的索引
          3. input:操作的字符串
          4. 注意:/abc/ : 只匹配abc或者他的其他大小写状态
          5. /abc(d|e):匹配abcd或者abce
var pattern = /abc/g;
var str = "ababc ac ab abcd we";
// var result = pattern.exec(str);
console.log(pattern.exec(str));                     //'abc'
console.log("lastIndex:"+pattern.lastIndex);        //5
console.log(pattern.exec(str));                     //'abc'
console.log("lastIndex:"+pattern.lastIndex);        //15
console.log(pattern.exec(str));                  //null
console.log("lastIndex:"+pattern.lastIndex);     //0
  1. test()

    1. 参数:字符串
    2. 返回值:布尔类型
    3. 作用:用来检测一个字符串是否匹配某个模式
var pattern = /abc/i;
var str = "hello 123 abdabccd";
console.log(pattern.test(str));   //true
  1. toString()

    1. 参数:无
    2. 返回值:string

      var pattern = new RegExp(“abc”,“i”);
      console.log(pattern.toString()); // /abc/i

正则表达式的规则

  1. 字符类

    1. . 用来匹配任意单个字符 行结束符除外
    2. \d 匹配任意的阿拉伯数字 等价于[0-9]
    3. \D 匹配任意一个不是阿拉伯数字的字符 等价于[^0-9]
    4. \w 匹配任意来自基本拉丁字母表中的字母数字字符,还包括下划线。等价于[A-Za-z0-9_]
    5. \W 匹配任意不是基本拉丁字母表中单词(字母数字下划线)字符的字符。等价于[^A-Za-z0-9_]
    6. \s 匹配一个空白符,包括空格、制表符、换页符、换行符和其他Unicode空格(\u00A0)
    7. \S 匹配一个非空白符
    8. \t 匹配一个水平制表符(tab)
    9. \r 匹配一个回车符(carriage return)
    10. \n 匹配一个换行符(linefeed)
    11. \v 匹配一个垂直制表符(vertical tab)
    12. \f 匹配一个换页符(form-feed)
  2. 字符集合
    1. [0-9]
    2. [A-Z]
    3. [^A-Z]
    4. [012]
  3. 分组

js中正则表达式

  1. 原型属性

    1. global
    2. ignoreCase
    3. multiline
    4. lastIndex
    5. source
    6. flags
 var pattern =/abc/img;console.log(pattern.global);     //trueconsole.log(pattern.ignoreCase);  //trueconsole.log(pattern.multiline);   //trueconsole.log(pattern.source);     //abcconsole.log(pattern.lastIndex);   //0

js中String对正则表达式的支持

  1. match()

    1. 调用者:string
    2. 参数:正则表达式
    3. 返回值:数组(匹配成功结果组成的数组,要注意正则表达式的全局修饰符)
     //匹配abc开头var pattern = /abc./g;var str = "abcd abcb abc abcc";console.log(str.match(pattern));   //['abcd','abcb','abc','abcc']
  1. search()

    1. 调用者:string
    2. 参数:正则表达式,如果参数不是正则表达式,会先使用RegExe将其转为构造函数 不支持全局检索,如果匹配成功,返回第一个与之匹配的字符串的位置,如果找不到匹配的子串,返回-1。
  2. replace()
    1. 调用者:string
    2. 参数:正则表达式,要替换的字符串
    3. 返回值:替换过后的string 不改变原来的字符串
 var text = "javascript";console.log(text);console.log(text.replace(/javascript/gi,"JavaScript"));    //将javascript转换成JavaScript

javascript正则表达式详解相关推荐

  1. JavaScript正则表达式详解(一)正则表达式入门

    JavaScript正则表达式是很多JavaScript开发人员比较头疼的事情,也很多人不愿意学习,只是必要的时候上网查一下就可以啦~本文中详细的把JavaScript正则表达式的用法进行了列表,希望 ...

  2. javascript 正则表达式详解

    正则表达式中的特殊字符 字符 含意 \ 做为转意,即通常在"\"后面的字符不按原来意义解释,如/b/匹配字符"b",当b前面加了反斜杆后/\b/,转意为匹配一个 ...

  3. 前端基础学习——javaScript正则表达式详解

    目录 一. 什么是正则表达式? 二. 使用字符串方法 2.1 search() 方法使用正则表达式 2.2 search() 方法使用字符串 2.3 replace() 方法使用正则表达式 2.4 r ...

  4. JS正则表达式详解2

    JS的正则表达式详解 //校验是否全由数字组成 代码 function isDigit(s) { var patrn=/^[0-9]{1,20}$/; if (!patrn.exec(s)) retu ...

  5. java判断颜色合法_判断颜色是否合法的正则表达式(详解)

    判断颜色是否合法的正则表达式(详解) "^#([0-9a-fA-F]{6}|[0-9a-fA-F]{3})$"; 意思是:以#开头,后面是数字和a-f的字符(大写或小写),这个值是 ...

  6. java中的正则表达式详解

    转自:http://gstarwd.iteye.com/category/91108?show_full=true 想必很多人都对正则表达式都头疼.今天,我以我的认识,加上网上一些文章,希望用常人都可 ...

  7. JavaScript事件详解-jQuery的事件实现(三)

    正文 本文所涉及到的jQuery版本是3.1.1,可以在压缩包中找到event模块.该篇算是阅读笔记,jQuery代码太长.... Dean Edward的addEvent.js 相对于zepto的e ...

  8. python面向对象编程的三大特性_Python面向对象总结及类与正则表达式详解

    Python3 面向对象 -------------------------------------------------------------------------------- 一丶面向对象 ...

  9. 菜鸟教程python正则表达式_python 正则表达式详解

    python 正则表达式详解 1. 正则表达式模式 模式描述 ^ 匹配字符串的开头 $ 匹配字符串的末尾. . 匹配任意字符,除了换行符,当re.DOTALL标记被指定时,则可以匹配包括换行符的任意字 ...

最新文章

  1. Spring-AOP 切点/切面类型和创建切面
  2. Python:langdetect和langid检测语言类型
  3. Bootstrap 3之美02-Grid简介和应用
  4. mysql(slow-query) 快速开启慢日志查询的方法
  5. 夫妻一方信用卡逾期,另外一方会受到牵连吗?
  6. 【ABP框架系列学习】N层架构(3)
  7. (转)Jetty实战之 安装 运行 部署
  8. python产生二维复数_Python基础知识大汇总--从放弃到入门
  9. 使用tar或dd等完成Linux系统备份恢复
  10. WPF 邮箱输入框提示 和 手机号码验证 .
  11. C# NFine开源框架 调用存储过程的实现代码
  12. influxdb可视化工具
  13. android动画暂停,android – 暂停和恢复Lottie动画
  14. RS485远程无线模块
  15. 使用keybase给你的Github commit加上GPG Verified签名认证(keybase教程)
  16. 「雷军万字总结」小米十周年公开演讲全文
  17. 小想法 | 开源一个自己的Python小项目「Park at ease」停车场管理系统
  18. Java微信公众平台开发(一)——接入微信公众平台
  19. Aspose.Cells Excel删除行
  20. 电子技术部第四次培训总结

热门文章

  1. 2019 北邮计算机学院机试 附AC代码以及结果统计
  2. Hspice仿真验证
  3. 科技线条空间3D特效
  4. java自学——java的基本讲解和变量、字符串、运算符的简单介绍
  5. 文字,Logo到模型制作详解
  6. 【leetcode】2022.1.2 消除游戏
  7. 【C语言基础补充7】使用预处理让你的代码不再臃肿
  8. PPTP和L2TP有哪些区别?
  9. 基于web的医学图像浏览器
  10. 深圳Java培训:Java中的国际化