正则表达式(Regular Expression)是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为"元字符")。
正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串
var res = new RegExp(/\d/) //构造函数声明方式
var reg = /\d/ //直接量声明
正则语法 使用test方法判断
真的总结了很久很久很久 ………………创作不易!
//正则方法
var str = "aaaaaaaa23b21321c43de4e32213F"
var s = str.search(reg) // 使用正则查找索引
var s = str.split(reg) //使用正则分割字符串
var s = reg.exec(str) // 检索字符串中指定的值。返回找到的值,并确定其位置
方括号
var reg
var bool
// [abc] 查找方括号之间的任何字符,只要包含就返回true。
reg = /[abc]/
bool = reg.test("a") // true
bool = reg.test("b") // true
bool = reg.test("c") // true
bool = reg.test("a123") // true
bool = reg.test("123") // false
// [^abc] 查找任何不在方括号之间的字符,只要不包含就返回true。
reg = /[^abc]/
bool = reg.test("a") // false
bool = reg.test("!") // true
bool = reg.test("!a") // true
// - ascii下标的范围
// [0-9] 查找任何从 0 至 9 的数字,只要包含就返回true。
reg = /[0-9]/
bool = reg.test("1") // true
bool = reg.test("a1a") // true
bool = reg.test("aa") // false
// [^0-9] 查找任何不在从 0 至 9 的数字,只要不包含就返回true。
reg = /[^0-9]/
bool = reg.test("a") // true
bool = reg.test("1") // false
bool = reg.test("a1") // true
// 同上
// [a-z] 查找任何从小写 a 到小写 z 的字符
reg = /[a-z]/
// [^a-z] 查找任何从不在小写 a 到小写 z 的字符
reg = /^a-z]/
// [A-Z] 查找任何从大写 A 到小写 Z 的字符
reg = /[A-Z]/
// [^A-Z] 查找任何从不在大写 A 到小写 Z 的字符
// reg = /[A-z]/
reg = /[A-Za-z0-9_]/ //包含数字 英文字符 加上 下划线
// reg = /[^A-Za-z0-9_]/
元字符
var reg
var bool
// 查找单个字符,除了换行和行结束符。。
reg = /./
// \w 查找单词字符,包含:数字 下划线 英文大小写字母。
reg = /\w/
bool = reg.test("a") // true
bool = reg.test("_") // true
bool = reg.test("0") // true
bool = reg.test("0!") // true
bool = reg.test("!") // false
// 查找非单词字符。
reg = /\W/
bool = reg.test("!") // true
bool = reg.test("0") // false
bool = reg.test("0!") // true
// \d 判断是否是数字
reg = /\d/
bool = reg.test("0") // true
bool = reg.test("a") // false
bool = reg.test("a1") // true
// 非数字
reg = /\D/
bool = reg.test("0") // false
bool = reg.test("a1") // true
// 匹配空格
reg = /ab\sc/
bool = reg.test("abc") // false
bool = reg.test("ab c") // true
// 匹配非空格
reg = /ab\Sc/
bool = reg.test("ab c") // false
bool = reg.test("abc") // true
reg = /\n/
// // \r 查找回车符
reg = /\r/
量词
//n+ 匹配任何包含至少一个 n 的字符串。
var bool
reg = /ab+c/
bool = reg.test("abc") // true
bool = reg.test("abbc") // true
bool = reg.test("ac") // false
// n* 匹配任何包含零个或多个 n 的字符串。
reg = /ab*c/
bool = reg.test("ac") // true
bool = reg.test("abc") // true
bool = reg.test("abbc") // true
bool = reg.test("ab") // false
// n? 匹配任何包含零个或一个 n 的字符串。
reg = /ab?c/
bool = reg.test("ac") // true
bool = reg.test("abc") // true
bool = reg.test("abbc") // false
// n{X} 匹配包含 X 个 n 的序列的字符串。
reg = /ab{2}c/
// n{X,Y} 匹配包含 X 至 Y 个 n 的序列的字符串。
reg = /ab{1,3}c/
// n{X,} 匹配包含至少 X 个 n 的序列的字符串。
reg = /ab{0,2}c/
分组
var bool
reg = /(a{2,}|b|c|d)/
bool = reg.test("aaa") // true
bool = reg.test("b") // true
修饰符
// g 全局
var str = " dsf fdsndf fdsnjlsdf sd"
reg = /\s/g
str = str.replace(reg,"") // dsffdsndffdsnjlsdfsd
// i 大小写
reg = /a/i
bool = reg.test("A") // true