RegExp类型
正则表达式是什么?
- 所谓正则表达式就是是一种表达文本模式的方法,用来给指定的模式来匹配文本(就是验证字符串是否符合预先设置的格式)
创建正则表达式
1.字面量方式/直接量方式
-
var 变量名 = /pattern/attributes
- pattern - 称为模式,用于定义正则表达式的内容
- attributes - 称为修饰符,用于定义正则表达式的行为
示例代码:
var reg = /123456789/i;
2.构造函数方式
-
var 变量名 = new RegExp(pattern [, attributes])
- pattern - 称为模式,用于定义正则表达式的内容
- attributes - 称为修饰符,用于定义正则表达式的行为
示例代码:
var reg = new RegExp('123456789', 'i');
正则表达式的运行
示例代码:
// 1.定义用于判断是否符合正则表达式的内容
var str = 12345678;
// 2.定义一个正则表达式 - 定义规则
var reg = /123456789/;// 表示当前输入的内容必须全部为数字
/*
3.利用正则表达式来判断指定内容是否符合规则要求
RegExp类型提供验证的test(参数)方法
* str - 表示当前要验证的内容
* 返回值 - 布尔值,表示验证后的结果
* true - 表示内容符合定义的规则
* false - 表示内容不符合定义的规则
*/
var result = reg.test(str);
console.log(result);// 调用结果为 false
字符类
示例代码:
var str = 'king';
// 正则表达式的内容中定义规则 - 验证的内容是否包含规则
var reg = /123456789/;
// 正则表达式的内容中定义规则 - 验证的内容匹配任何字符即可
var reg = /[0123456789]/;
var reg = /[\d]/;
var reg = /[0-9]/;
var reg = /[a-zA-Z]/;
var result = reg.test(str);
console.log(result);
重复
-
在JavaScript中的正则表达式用来描述任意多位的数字,或者描述由三个字母和以个数字构成的字符串时,可以使用字符重复的标记
-
{n, m} - 表示字符类中任意字符出现的次数
- n - 表示至少出现n次(包含n次)
- m - 表示至多出现m次(包含m次)
-
- 注意 - 出现的次数必须是连续的
示例代码:
var str = 'yihu123ayi12shijie';
var reg = /[0-9]{3,5}/;
var result = reg.test(str);
console.log(result);
匹配指定位置
- 当同时设置开始和结束时 - 表示所匹配内容的长度只能为至少n次,至多m次,而且内容必须与字符类匹配
示例代码:
var str = '12a45';
// 表示以什么开始的
// 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);
修饰符
-
正则表达式的修饰符
- i - 表示搜索时不区分大小写
- g - 表示全局所搜
- m - 表示多行搜索
示例代码:
var str = 'yihuayishijie';
var reg = /^[A-Z]{8,15}$/i;
var result = reg.test(str);
console.log(result);
exec()方法
- 作用 - 用于匹配指定内容
-
返回值 - 数组
- 第一个元素 - 表示匹配的内容
- 第二个元素 - 表示匹配内容对应的位置
- 第三个元素 - 表示完整内容
- 注意 - 如果不匹配,那么返回的结果为 null
示例代码:
var str = 'yihuayishijie';
var reg = /i{1}/;
var result = reg.exec(str);
console.log(result);
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。