JavaScript中涉及到的RegExp类型

RegExp类型

正则表达式:由一些普通字符和特殊字符组成的,用以描述一种特定的字符规则的表达式,它是用来限制用户在互联网中输入的规则

创建正则表达式

  • 字面量/直接量方式

var 变量名=/正则表达式的内容/修饰符

var reg=/123456789/i;
  • 构造函数方式

var 变量名=new RegExp(正则表达式的内容,[修饰符])

var reg=new RegExp('123456789','i');

正则表达式的运行

1.定义用于判断是否符合正则表达式的内容

var str=123456789;

2.定义一个正则表达式,定义规则

var reg=/123456789/;//表示当前输入的内容必须全部为数字

3.利用正则表达式来判断指定内容是否符合规则要求
RegExp类型提供验证的test(str)方法
str:表示当前要验证的内容
返回值:布尔值,表示验证后的结果
true:表示内容符合定义的规则
fasle:表示内容不符合定义的规则

var result=reg.test(str);
console.log(result);

字符类

// 正则表达式的内容中定义规则 -> 验证的内容是否包含规则
// var reg = /123456789/;
// 正则表达式的内容中定义规则 -> 验证的内容匹配任何字符即可
var str='123kkkkk';
var reg=/[012345678]/;
var reg=/[0-9]/;
var reg=/[a-zA-Z]/;
var result=reg.test(str);
console.log(result);

重复

var str = 'shenzhen2018guangdong';
/*{n, m}:表示字符类中任意字符出现的次数
   n:表示至少出现n次(包含n次)
   m:表示至多出现m次(包含m次)
   出现的次数必须是连续的*/
var reg = /[0-9]{3,5}/;
var result = reg.test(str);
console.log(result);

// 长度为6-16位的数字或字母
/[0-9a-zA-Z]{6,16}/

匹配指定位置

var str = '123142fwefw312';

// 表示以什么开始的
var reg = /^[0-9]{3,5}/;
// 表示以什么结束的
var reg = /[0-9]{3,5}$/;
// 表示匹配内容的长度只能为至少n次,至多m次,而且内容必须与字符类匹配
var reg = /^[0-9]{3,5}$/;

var result = reg.test(str);
console.log(result);

// 长度为6-16位的数字或字母
/^[0-9a-zA-Z]{6,16}$/

exec()方法

var str = 'guangdongshenzhen';

var reg = /b{1}/;
/*exec()方法
  作用 - 用于匹配指定内容
  返回值 - 数组
  第一个元素:表示匹配的内容
  第二个元素:表示匹配内容对应的位置
  第三个元素:返回结果为 null*/
var result = reg.exec(str);
console.log(result);

相关推荐