前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >js正则表达式

js正则表达式

作者头像
星辉
发布2019-01-15 10:04:51
7.3K0
发布2019-01-15 10:04:51
举报
文章被收录于专栏:用户2119464的专栏

js正则表达式

目录

  • 正则表达式定义及作用
  • 字符串方法使用正则表达式
  • 修饰符及模式
  • RegExp对象
  • 实际用例
  • 正则在线工具

正则表达式定义及作用

定义

使用单个字符串来描述、匹配一系列符合某个句法规则的字符串搜索模式

语法
代码语言:javascript
复制
/正则表达式主体/修饰符(可选)
作用
  • 文本搜索
  • 文本替换

字符串方法使用正则表达式

search()方法

检索与正则表达式相匹配的子字符串,并返回子串的起始位置

代码实例
代码语言:javascript
复制
var str = 'HvGege'
var n = str.search(/ge/i)
console.log(n)
输出结果
代码语言:javascript
复制
2
代码解释
  • i是一个修饰符, 表示搜索不区分大小写
  • search()方法也可以用于检索字符串中指定的子字符串
replace()方法

替换第一个与正则表达式匹配的子串

代码实例
代码语言:javascript
复制
var str = 'HvGege'
var str1 = str.replace(/ge/ig, "gege")
console.log(str1)
输出结果
代码语言:javascript
复制
Hvgegegege
代码解释
  • g是修饰符, 执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)
  • 修饰符可以叠加, 此处使用两个修饰符i,g

修饰符及模式

修饰符
  • i执行对大小写不敏感的匹配
  • g执行全局匹配
  • m执行多行匹配
表达式
  • [abc]查找方括号之间的任何字符
  • [0-9]查找任何从0至9的数字
  • (x|y)查找任何以|分隔的选项
元字符
  • \d查找数字
  • \s查找空白字符
  • \b匹配单词边界
量词
  • n+匹配任何包含至少一个n的字符串
  • n*匹配任何包含零个或多个n的字符串
  • n?匹配任何包含零个或一个n的字符串

RegExp对象

RegExp对象是一个预定义了属性和方法的正则表达式对象

test()方法

用于检测一个字符串是否匹配某个模式,如果字符串中含有匹配的文本,则返回 true,否则返回 false

代码实例
代码语言:javascript
复制
var patt = /e/
console.log(patt.test("hvgege"))
输出结果
代码语言:javascript
复制
true
代码解释
  • 实例用于搜索字符串中的字符 “e”
  • 字符串中含有 “e”, 则实例中输出true
exec()方法

用于检索字符串中的正则表达式的匹配, 返回一个对象,其中存放匹配的结果, 如果未找到匹配,则返回值为 null

代码实例
代码语言:javascript
复制
var patt = /e/
console.log(patt.exec("hvgege"))
输出结果
代码语言:javascript
复制
["e", index: 3, input: "hvgege", groups: undefined]
代码解释
  • 实例用于搜索字符串中的字母 “e”
  • 字符串中含有 “e”, 所以该实例输出对象

实际用例

校验电话格式
代码语言:javascript
复制
function isTelCode(str) {
    var reg= /^((0\d{2,3}-\d{7,8})|(1[3584]\d{9}))$/;
    return reg.test(str);
}
校验邮箱地址
代码语言:javascript
复制
function IsEmail(str) {
    var reg=/^\w+@[a-zA-Z0-9]{2,10}(?:\.[a-z]{2,4}){1,3}$/;
    return reg.test(str);
}

正则在线工具

正则表达式在线测试工具
代码语言:javascript
复制
http://tools.jb51.net/regex/javascript
正则表达式在线生成工具
代码语言:javascript
复制
http://tools.jb51.net/regex/create_reg
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018年09月13日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • js正则表达式
    • 目录
      • 正则表达式定义及作用
        • 字符串方法使用正则表达式
          • 修饰符及模式
            • RegExp对象
              • 实际用例
                • 正则在线工具
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档