元字符 - 量词
- 用来修饰数量的
注意:这些量词只修饰它左边的那一个字符,所以要修饰整体,记得加小括号包起来
/*
*: 出现0次或多次 >= 0
+: 出现1次或多次 >= 1
?: 出现0次或1次
*/
// 只能是黑马程序员5个字
// console.log( /^黑马程序员$/.test('黑马程序员黑马程序员') ) // 得到false
// *只形容左边一个字
// 就代表 找 黑马程序 或者 找黑马程序员 或者找 黑马程序员员 或者 黑马程序员员员 .....
// 而且加了严格匹配,那就代表只能是上面这些组合
// console.log( /^黑马程序员*$/.test('黑马程序员黑马程序员') ) // 得到false
// console.log( /^黑马程序员*$/.test('黑马程序员') ) // 得到true
// console.log( /^黑马程序员*$/.test('黑马程序员黑马程序员黑马程序员') ) // false
// console.log( /^黑马程序员*$/.test('') ) // false
// 小括号代表先运算,所以先运算黑马程序员当做一个整体
// 后面接一个 * 代表这个整体出现0次或多次
// 也就说要么毛都没有,要么一次 黑马程序员 要么多次 黑马程序员
// console.log( /^(黑马程序员)*$/.test('黑马程序员黑马程序员') ) // true
// console.log( /^(黑马程序员)*$/.test('黑马程序员') ) // true
// console.log( /^(黑马程序员)*$/.test('黑马程序员黑马程序员黑马程序员') ) // true
// console.log( /^(黑马程序员)*$/.test('') ) // true
// 原因:这里加了严格匹配,就代表只能是 里面的内容
// 而里面的内容要么是空,要么是 黑马程序员 出现n次,不能有别的内容
// 而下面的都有别的内容,所以false
// console.log( /^(黑马程序员)*$/.test('黑马程序员黑马程序员666') ) // false
// console.log( /^(黑马程序员)*$/.test('黑马程序员666') ) // false
// console.log( /^(黑马程序员)*$/.test('黑马程序员黑马程序员黑马程序员666') ) // false
// console.log( /^(黑马程序员)*$/.test('666') ) // false
// 因为此时没有加严格匹配
// // 那就代表找 内容里,只要有 黑马程序员 出现0次或多次 即可
// console.log( /(黑马程序员)*/.test('黑马程序员黑马程序员666') ) // true
// console.log( /(黑马程序员)*/.test('黑马程序员666') ) // true
// console.log( /(黑马程序员)*/.test('黑马程序员黑马程序员黑马程序员666') ) // true
// console.log( /(黑马程序员)*/.test('666') ) // true
// +: 出现1次或多次 ,至少要 >= 1
// 这里没有加严格匹配,代表只要有就行
// 只要有 黑马程序员,且员这个字,出现至少1次
// 也就是只要有 黑马程序员、黑马程序员员、黑马程序员员员......
// 只要有这些内容就是true
// console.log( /黑马程序员+/.test('黑马程序') ) // false
// console.log( /黑马程序员+/.test('黑马程序员') ) // true
// console.log( /黑马程序员+/.test('黑马程序员员') ) // true
// console.log( /黑马程序员+/.test('黑马程序员员666') ) // true
// console.log( /黑马程序员+/.test('黑马程序666') ) // false
// console.log( /黑马程序员+/.test('黑马程序员666') ) // true
// 严格匹配代表只能是这个内容
// 内容就是: 黑马程序员(员这个字可以出现1次或多次)
// console.log( /^黑马程序员+$/.test('黑马程序') ) // false
// console.log( /^黑马程序员+$/.test('黑马程序员') ) // true
// console.log( /^黑马程序员+$/.test('黑马程序员员') ) // true
// console.log( /^黑马程序员+$/.test('黑马程序员员666') ) // false
// console.log( /^黑马程序员+$/.test('黑马程序666') ) // false
// console.log( /^黑马程序员+$/.test('黑马程序员666') ) // false
// 代表 黑马程序员 整体要出现1次或多次,而且只能是 黑马程序员 一次或多次
// console.log( /^(黑马程序员)+$/.test('黑马程序') ) // false
// console.log( /^(黑马程序员)+$/.test('黑马程序员') ) // true
// console.log( /^(黑马程序员)+$/.test('黑马程序员员') ) // false
// console.log( /^(黑马程序员)+$/.test('黑马程序员员666') ) // false
// console.log( /^(黑马程序员)+$/.test('黑马程序666') ) // false
// console.log( /^(黑马程序员)+$/.test('黑马程序员666') ) // false
// 很多网站要求输入手机号
// ?: 出现0次或1次 ,要么0 要么 1
// 这里没有加严格匹配,代表只要有就行
// 内容是 员这个字要么没有,要么就是有1个
// console.log( /黑马程序员?/.test('黑马程序') ) // true
// console.log( /黑马程序员?/.test('黑马程序员') ) // true
// // 没有加严格匹配,代表只要有 黑马程序 或 黑马程序员 都可以
// // 所以这里有黑马程序员,那么就是true,你多出来一个员字或者多出来一个6
// // 它都是true
// console.log( /黑马程序员?/.test('黑马程序员员') ) // true
// console.log( /黑马程序员?/.test('黑马程序员6') ) // true
// console.log( /黑马程序员?/.test('黑马程序员员666') ) // true
// console.log( /黑马程序员?/.test('黑马程序666') ) // true
// console.log( /黑马程序员?/.test('黑马程序员666') ) // true
// 严格匹配代表只能是这个内容
// 内容就是: 黑马程序 黑马程序员
// 换句话说:字符串只能是 黑马程序 黑马程序员
// console.log( /^黑马程序员?$/.test('黑马程序') ) // true
// console.log( /^黑马程序员?$/.test('黑马程序员') ) // true
// console.log( /^黑马程序员?$/.test('黑马程序员员') ) // false
// console.log( /^黑马程序员?$/.test('黑马程序员6') ) // false
// console.log( /^黑马程序员?$/.test('黑马程序员员666') ) // false
// console.log( /^黑马程序员?$/.test('黑马程序666') ) // false
// console.log( /^黑马程序员?$/.test('黑马程序员666') ) // false
// 代表只能是 黑马程序员 出现0次或1次
// 所以也就是说,要么毛都没有,要么只能是 黑马程序员
// console.log( /^(黑马程序员)?$/.test('黑马程序') ) // false
// console.log( /^(黑马程序员)?$/.test('黑马程序员') ) // true
// console.log( /^(黑马程序员)?$/.test('黑马程序员员') ) // false
// console.log( /^(黑马程序员)?$/.test('黑马程序员员666') ) // false
// console.log( /^(黑马程序员)?$/.test('黑马程序666') ) // false
// console.log( /^(黑马程序员)?$/.test('黑马程序员666') ) // false
// console.log( /^(黑马程序员)?$/.test('') ) // true
// console.log( /^(黑马程序员)?$/.test('黑马程序员黑马程序员') ) // false
/*
{n} 出现n次
{n,} 至少出现n次
{n, m} 至少n次,最多m次
*/
// 这是代表只要有 黑马程序员员员 即可
// console.log( /黑马程序员{3}/.test('黑马程序员黑马程序员') ) // false
// console.log( /黑马程序员{3}/.test('黑马程序员') ) // false
// console.log( /黑马程序员{3}/.test('黑马程序员黑马程序员黑马程序员') ) // false
// console.log( /黑马程序员{3}/.test('') ) // false
// console.log( /黑马程序员{3}/.test('黑马程序员员员') ) // true
// console.log( /黑马程序员{3}/.test('黑马程序员员员6666') ) // true
// console.log( /黑马程序员{3}/.test('黑马程序员员员员员员') ) // true
// 只是代表只要有 黑马程序员 连续出现3次 即可
// 也就是只要有 黑马程序员黑马程序员黑马程序员
// console.log( /(黑马程序员){3}/.test('黑马程序员黑马程序员') ) // false
// console.log( /(黑马程序员){3}/.test('黑马程序员') ) // false
// console.log( /(黑马程序员){3}/.test('黑马程序员黑马程序员黑马程序员') ) // true
// console.log( /(黑马程序员){3}/.test('') ) // false
// console.log( /(黑马程序员){3}/.test('黑马程序员员员') ) // false
// console.log( /(黑马程序员){3}/.test('黑马程序员员员6666') ) // false
// console.log( /(黑马程序员){3}/.test('黑马程序员员员员员员') ) // false
// console.log( /(黑马程序员){3}/.test('黑马程序员黑马程序员黑马程序员66') ) // true
// console.log( /(黑马程序员){3}/.test('黑马程序员黑马程序员黑马程序员黑马程序员黑马程序员黑马程序员') ) // true
// 只能是 黑马程序员 出现3次
// 也就是只能找 黑马程序员黑马程序员黑马程序员
// console.log( /^(黑马程序员){3}$/.test('黑马程序员黑马程序员') ) // false
// console.log( /^(黑马程序员){3}$/.test('黑马程序员') ) // false
// console.log( /^(黑马程序员){3}$/.test('黑马程序员黑马程序员黑马程序员') ) // true
// console.log( /^(黑马程序员){3}$/.test('') ) // false
// console.log( /^(黑马程序员){3}$/.test('黑马程序员员员') ) // false
// console.log( /^(黑马程序员){3}$/.test('黑马程序员员员6666') ) // false
// console.log( /^(黑马程序员){3}$/.test('黑马程序员员员员员员') ) // false
// console.log( /^(黑马程序员){3}$/.test('黑马程序员黑马程序员黑马程序员66') ) // false
// console.log( /^(黑马程序员){3}$/.test('黑马程序员黑马程序员黑马程序员黑马程序员黑马程序员黑马程序员') ) // false
// 只能是 黑马程序员至少出现3次
// console.log( /^(黑马程序员){3,}$/.test('黑马程序员黑马程序员') ) // false
// console.log( /^(黑马程序员){3,}$/.test('黑马程序员') ) // false
// console.log( /^(黑马程序员){3,}$/.test('黑马程序员黑马程序员黑马程序员') ) // true
// console.log( /^(黑马程序员){3,}$/.test('') ) // false
// console.log( /^(黑马程序员){3,}$/.test('黑马程序员员员') ) // false
// console.log( /^(黑马程序员){3,}$/.test('黑马程序员员员6666') ) // false
// console.log( /^(黑马程序员){3,}$/.test('黑马程序员员员员员员') ) // false
// console.log( /^(黑马程序员){3,}$/.test('黑马程序员黑马程序员黑马程序员66') ) // false
// console.log( /^(黑马程序员){3,}$/.test('黑马程序员黑马程序员黑马程序员黑马程序员黑马程序员黑马程序员') ) // true
// 只能是 黑马程序员 出现至少3次,最多5次
console.log( /^(黑马程序员){3,5}$/.test('黑马程序员黑马程序员') ) // false
console.log( /^(黑马程序员){3,5}$/.test('黑马程序员') ) // false
console.log( /^(黑马程序员){3,5}$/.test('黑马程序员黑马程序员黑马程序员') ) // true
console.log( /^(黑马程序员){3,5}$/.test('') ) // false
console.log( /^(黑马程序员){3,5}$/.test('黑马程序员员员') ) // false
console.log( /^(黑马程序员){3,5}$/.test('黑马程序员员员6666') ) // false
console.log( /^(黑马程序员){3,5}$/.test('黑马程序员员员员员员') ) // false
console.log( /^(黑马程序员){3,5}$/.test('黑马程序员黑马程序员黑马程序员66') ) // false
// 下面出现了6次黑马程序员
console.log( /^(黑马程序员){3,5}$/.test('黑马程序员黑马程序员黑马程序员黑马程序员黑马程序员黑马程序员') ) // false
console.log( /^(黑马程序员){3,5}$/.test('黑马程序员黑马程序员黑马程序员黑马程序员黑马程序员') ) // true