第三课:正则表达式(2021/4/20)

本文介绍了正则表达式的概念及基本用法,包括如何在JavaScript中创建和使用正则表达式,以及边界符、字符类和量词符等关键元素的应用。

正则表达式

  • 概念:正则表达式(RegularExpression )是用于匹配字符串中字符组合的模式。在JavaScript中,正则表达式也是对象。

测试正则表达式test

test() 正则对象方法,用于检测字符串是否符合该规则,该对象会返回true或 false,其参数是测试字符串。

regexpObj.test(str)

  1. regexpObj是写的正则表达式
  2. str我们要测试的文本
  3. 就是检测str文本是否符合我们写的正则表达式规范.
// 正则表达式再js中的使用

// 1.利用RegExp对象来创建 正则表达式
var regexp = new RegExp(/123/);
console.log(RegExp);

// 2.利用字面量创建 正则表达式
var rg = /123/;

console.log(rg.test(123))

一、边界符

  • 正则表达式中的边界符(位置符)用来提示字符所处的位置,主要有两个字符。
// 边界符 ^ $
var rg = /abc/; //正则表达式里面不需要加引号,不管是数字型还是字符串型
// /abc/ 只要包含有abc这个字符串返回的都是true
console.log(rg.test('abc'));   //true
console.log(rg.test('abcd'));  //true
console.log(rg.test('aabcd')); //true

var reg = /^abc/; //必须以abc开头
console.log(rg.test('abc'));   //true
console.log(rg.test('abcd'));  //true
console.log(rg.test('aabcd')); //false

var reg = /^abc$/; //精确匹配 必须以abc为开头和为结尾
console.log(rg.test('abc'));    //true
console.log(rg.test('abcd'));   //false
console.log(rg.test('aabcd'));  //false
console.log(rg.test('abcabc')); //false //这个是abcabc为开头了

二、字符类

// 字符类:[] 表示有一系列字符可供选择。只要匹配其中一个就可以了

var rg = /[abc]/; //只要包含有a 或者包含有b 或者包含有c 都返回true

console.log(rg.test('andy'));  //true
console.log(rg.test('baby'));  //true
console.log(rg.test('color')); //true
console.log(rg.test('red'));   //false

var rg1 = /^[abc]$/; //三选一 只有是a 或者是b 或者是c 这三个字母才返回 true

console.log(rg1.test('aa')); //false
console.log(rg1.test('a'));  //true
console.log(rg1.test('b'));  //true
console.log(rg1.test('c'));  //true

// 短横线表示范围
var rg2 = /^[a-z]$/; // 26个英文小写字母任何一个字母都返回true
console.log(rg2.test('a')); //true
console.log(rg2.test('A')); //false

字符组合

var rg3 = /^[a-zA-Z0-9]$/; // 大写和小写数字都可以

// 如果中括号[]里面有^这个符号表示取反  

量词符

// * 相当于 >= 0 可以出现0次或者很多次
var reg = /^a*$/;
console.log(reg.test(''));    //true
console.log(reg.test('a'));   //true
console.log(reg.test('aaa')); //true

// + 相当于 >= 1 可以出现1次或者很多次
var reg = /^a+$/;
console.log(reg.test(''));    //false
console.log(reg.test('a'));   //true
console.log(reg.test('aaa')); //true

// ? 相当于 0 || 1 可以出现1次或者很多次
var reg = /^a?$/;
console.log(reg.test(''));    //true
console.log(reg.test('a'));   //true
console.log(reg.test('aaa')); //false

// {3} 就是重复3次
var reg = /^a{3}$/;
console.log(reg.test(''));    //false
console.log(reg.test('a'));   //false
console.log(reg.test('aaa')); //true

// {3,} 就是重复>=3次
var reg = /^a{3,}$/;
console.log(reg.test(''));    //false
console.log(reg.test('a'));   //false
console.log(reg.test('aaaa')); //true

// {3,6} 就是大于等于3且小于等于6次
var reg = /^a{3,6}$/;
console.log(reg.test(''));    //false
console.log(reg.test('aa'));   //false
console.log(reg.test('aaaaa')); //true
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值