日期:2025/03/31 17:23来源:未知 人气:60
一、认识正则表达式
正则表达式:是一种描述字符串结构的语法规则,是用于匹配字符串中字符组合的模式,同时正则表达式也是对象。
特点:
正则表达式的灵活性。
逻辑性和功能性非常强。
可以迅速地用极简单的方式达到字符串的复杂控制。
正则表达式的使用:
// 字面量方式
var 变量名 = /表达式/;
// RegExp构造函数方式
// 或者var 变量名 = RegExp(/表达式/);
var 变量名 = new RegExp(/表达式/);
案例演示:test()方法来检测字符串是否符合正则规则
var str = '123'
var reg1 = new RegExp(/123/);
var reg2 = /abc/;
console.log(reg1.test(str)) ; // 匹配结果为:true
console.log(reg2.test(str)) ; // 匹配结果为:false
模式修饰符:基本语法/表达式/[switch]
switch :表示模式修饰符,是可选的,用于进一步对正则表达式进行设置。
二、正则表达式的特殊字符
1、边界符
正则表达式中的边界符(位置符)用来提示字符所处的位置
var reg = /^abc$/;
console.log(reg.test('abc’)); // 结果为:true
console.log(reg.test('abcd’)); // 结果为:false
console.log(reg.test('aabcd’)); // 结果为:false
console.log(reg.test('abcabc’)); // 结果为:false
2、预定义符
var str = 'good idea';
var reg = /\s../gi; // 正则对象
str.match(reg); // 匹配结果:[" id"]
转义特殊字符:在正则表达式中可以使用“\”转义特殊字符
var str = '^abc\\1.23*edf$';
var reg = /\.|\$|\*|\^|\\/gi;
str.match(reg); // 匹配结果:(5) ["^", "\", ".", "*", "$"]
3、字符类
字符类:是一个字符集,匹配相应字符,它就会找到该匹配项。
字符范围示例:
var reg = /[abc]/;
console.log(reg.test('andy’)); // 结果为:true
console.log(reg.test('baby’)); // 结果为:true
console.log(reg.test('color’)); // 结果为:true
console.log(reg.test('red’)); // 结果为:flase
var rg = /^[abc]$/;
console.log(rg.test('a’)); // 结果为:true
console.log(rg.test('aa’)); // 结果为:false
console.log(rg.test('b’)); // 结果为:true
console.log(rg.test('c’)); // 结果为:true
console.log(rg.test('abc’)); // 结果为:flase
字符组合:如果允许用户输入英文字母(不区分大小写)、数字、短横线-、下划线_的正则情况。
var rg = /^[a-zA-Z0-9_-]$/;