下面我们就来实践下他们得用法
// 验证方法
function verificationRule(reg,str){
  return reg.test(str)
}

边界的例子

// 以javascript 为左边界
verificationRule(/\bjavascript/,'javascript') // true

// 以script 为有右边界
verificationRule(/script\b/,'javascript') // true 

// ^行首匹配,$行尾匹配。以字母数字下划线开头,a结尾
verificationRule(/^\wa$/,'mike_ma') // true

表示次数的例子

// 匹配一到多个
verificationRule(/\w+/,'hello') // true

//匹配0到1个
verificationRule(/ed?/,'hello') // true

//匹配0到多个
verificationRule(/ed*/,'mike') // true
verificationRule(/ed*/,'word') // true
verificationRule(/ed*/,'javascript') // false


//匹配3个数字
verificationRule(/\d{3}/,'5654') // true
往往容易忽略单词边界的问题,正则匹配到就会返回true
verificationRule(/ed*/,'vghfgygihedk') // true
verificationRule(/^ed*$/,'vghfgygihedk') // false
verificationRule(/^ed*$/,'ed') // true

表示或的例子

表示或的元字符常用的有两个|和[];中括号内的每个元字符表示字符串内可能存在。
verificationRule(/x|y/,'xffasihdg') // true
verificationRule(/x|y/,'yasdngkia') // true
verificationRule(/x|y/,'awett') // false
verificationRule(/[x,y]/,'yasdngkia') // true
verificationRule(/[x,y]/,'xjaskuifhx') // true
verificationRule(/[x,y]/,'asfdas') // false

表示分组的例子

如上面的x和y,如果我们想完全匹配x或y,我们就要用到分组()
verificationRule(/^(x|y)$/,'x') // true
verificationRule(/^(x|y)$/,'y') // true
verificationRule(/^(x|y)$/,'xy') // false

表示范围的例子

中括号表示可能存在的字符,数字除了用d表示,还可以用[0-9]表示,同样的表示大写字母A-Z可以写成[A-Z],小写字母就可以写成[a-z]
我们也可以用中括号表示反向,如1 除去abc之外的
 /^[0-9A-Za-z_]+$/相当于/^\w+$/  
 /^[^\s]+$/相当于/^\S+$/

修饰符的例子

修饰符比较简单,只有三种
// g 全局匹配
"this is test".match(/is/g);//["is", "is"]

//   m多行匹配
"\nIs th\nis it?".match(/^is/m);//["is"]

// i 忽略大小写
"Hello Word".match(/word/i) // ["word"]

  1. abc

素描你的美
4 声望0 粉丝

引用和评论

0 条评论