JavaScript教程:正则表达式 regex

需要掌握:正则表达式

创建 RegExp 对象

方式一

var regExp = /正则表达式/flags;

方式二

var regExp = new RegExp("正则表达式","flags");

flags解释:

  • g:global,表示全局匹配;
  • i:ignoreCase,表示忽略大小写;
  • m:multiline,表示多行搜索(ES规范制定之后才支持),如果前面是正则表达式时不能使用m,只有当前面是普通字符串时才可以使用。

可以组合使用

RegExp 对象方法

  • test() 判断字符串是否符合 正则表达式,符合返回 true,否则返回 false。
  • exec() 检索字符串中指定的值。返回找到的值,并确定其位置。可被字符串的 search() 方法替代
  • toString() 返回正则表达式的字符串。
  • compile() 在 1.5 版本中已废弃。 编译正则表达式。

test()

判断字符串是否符合 正则表达式,符合返回 true,否则返回 false。

var regExp = /a/ // 正则表达式
var res = regExp.test("a") // 字符串中有a,符合正则表达式,返回true
console.log(res)
res = regExp.test("A") // 字符串中没有a,不符合,返回false
console.log(res)
res = regExp.test("b") // 字符串中没有a,不符合,返回false
console.log(res)

忽略大小写

var regExp = /a/i // 正则表达式,i表示忽略大小写
var res = regExp.test("a") // 字符串中有a,符合正则表达式,返回true
console.log(res)
res = regExp.test("A") // 字符串中有A,符合,返回true
console.log(res)
res = regExp.test("b") // 字符串中没有a 或 A,不符合,返回false
console.log(res)

校验邮箱

// 这种方式更简单,而且也不需要处理 \
var regx = /^[\w|-]+@\w+\.[a-z]+/
// 返回true,表示邮箱地址符合正则表达式,即:校验通过
var res = regx.test("mayu-min_666@163.com")
console.log("res:",res)

构造方法实现

var regExp = new RegExp("ab") // 正则表达式
var res = regExp.test("a") // 字符串中有a,符合正则表达式,返回true
console.log(res)
res = regExp.test("A") // 字符串中没有a,不符合,返回false
console.log(res)
res = regExp.test("b") // 字符串中没有a,不符合,返回false
console.log(res)

校验邮箱

// 需要改成 \\ 
var regx = new RegExp("^[\\w|-]+@\\w+\\.[a-z]+")
// 返回true,表示邮箱地址符合正则表达式,即:校验通过
var res = regx.test("mayu-min_666@163.com")
console.log("res:",res)

原文出处:/show_1IX3AqOaFkhG.html