1、正则表达式概述
1.1、什么是正则表达式
正则表达式( Regular Expression )是用于匹配字符串中字符组合的模式。在 JavaScript中,正则表达式也是对象。
正则表通常被用来检索、替换那些符合某个模式(规则)的文本,例如验证表单:用户名表单只能输入英文字母、数字或者下划线, 昵称输入框中可以输入中文(匹配)。此外,正则表达式还常用于过滤掉页面内容中的一些敏感词(替换),或从字符串中获取我们想要的特定部分(提取)等 。
1.2、正则表达式的特点
灵活性、逻辑性和功能性非常的强。
可以迅速地用极简单的方式达到字符串的复杂控制。
对于刚接触的人来说,比较晦涩难懂。比如:^\w+([-+.]\w+)@\w+([-.]\w+).\w+([-.]\w+)*$
实际开发,一般都是直接复制写好的正则表达式. 但是要求会使用正则表达式并且根据实际情况修改正则表达式. 比如用户名: /^[a-z0-9_-]{3,16}$/
量词符
量词符用来设定某个模式出现的次数
预定义类
预定义类指的是某些常见模式的简写方式
使用方法
正则表达式(Regular Expression)是一种描述字符串规律的表达式,
// 可以迅速地用极简单的方式达到字符串的校验控制。
//符合一个正确的规则的表达式
// 正则表达式的应用:常用于数据校验,过滤敏感词 等等
//如何创建正则表达式:
//方法1 直接声明 注意 任何情况下不要加引号
// var reg1 = /aa/bb ; //reg不仅有注册的意思 还有正则表达式的意思
//方法2:通过new声明 该放引号就放引号
// var reg2 = new RegExp("aa","bb");
//一般情况下使用方法1
//解释正则表达式的参数是什么意思
// 第一个参数,用于描述字符串特征,例如以什么开头,以什么结尾,包含什么字符。
// 第二个参数,用于描述额外的功能,例如是否忽略大小写(i)。是否全局匹配(g) 可以省略
//全局匹配的意思: 一般情况下 匹配到一个就停止了.
//例如
// var str = "aabbcc";//现在需要将a替换成你
// console.log(str.replace("a","你"));//你abbcc
// 第一种方法
// var reg1 = /ab/;
// // 第二种方法
// var reg2 = new RegExp('ab');
// //上述代码的意思 判断字符串是否包含 ab
// //如何去判断 通过正则表达式的test方法 即可
// var str = "你好123abacd";
// console.log(reg1.test(str))//true
// var reg = /ab/;
// console.log(reg.test('abcd')); // 输出结果:true
// console.log(reg.test('dcba')); // 输出结果:false
// console.log(reg.test('Abcd')); // 输出结果:false
//一般来说都是通过test方法来判断字符串是否符合要求
//其中还有一个方法也可以判断但是用的比较少
// var reg = /ab/;
// console.log(reg.exec('cdab'));
// console.log(reg.exec('dcba'));
// console.log(reg.exec('Abcd'));
// 不同的是:返回值。exec返回的是一个数组,如果不匹配返回一个null。
// 如果匹配就返回出现的下标等。