js 正则

206 阅读1分钟

[A-Z] 查找任何从大写 A 到大写 Z 的字符

[a-zA-Z] 表示大小写的26个英文字母 都能匹配

[0-9] 查找任何从 0 至 9 的数字

/[0-9a-zA-Z]/ 表示26个大小写英文字母和数字都匹配

[] 只要有一个符合都返回true 例如下面

   let reg = /[0-9]/;
   console.log(reg.test('abc'))
   

[abc] 查找括号内的任意一个字符 */

^[] 表示以什么开头 */

[]$ 表示以什么结尾 */

+表示匹配前面字符串一次或者多次 */

可以匹配纯26个英文小写的字母 */

  let reg = /^[a-z]+$/;
  console.log(reg.test('abcccc'))

匹配一串字符 包括多个 英文字母 包括大小写 和数字

  let reg = /^[a-zA-Z0-9]+$/;
  console.log(reg.test('BASADasdf123123'))

{n,} 至少匹配n 次 /^[a-z]{2,}$/

以[]内任意一个字母(包括大小写)或者数字开头

{n,m} 最少匹配 n 次且最多匹配 m 次 /^[a-z]{2,3}$/

{n} 匹配确定的 n 次 /^\d{2}$/ 要加限定字符,否则2次以上也为true

匹配前面的子表达式零次或多次 /[a-z]*/ 字母出现与否都为true

? 匹配前面的子表达式零次或一次/[a-z]?/字母出现0或1次都为true

正则有个特性只要匹配了一次都返回true,所以要加限定字符^$

 let reg = /^[a-zA-Z0-9]?$/;
       console.log(reg.test('12'))

用户名:

1、只能数字 不小于5

/^[0-9]{5,}$/

2、只能大小写字母 [5-9] 包括 5 和 9

/^[a-zA-Z]{5,9}$/

3、只能出现 0次 多次 包括 大小写和数字

/^[a-zA-Z0-9]*$/

4、只能出现 0次 一次 包括 大小写和数字

/^[a-zA-Z0-9]?$/

[^abc] 查找除了括号内的任意字符 写在[]里面的^叫除了

  let reg = /[^abc]/;
       console.log(reg.test('dfgg'))