正则
正则表达式 RegExp
在ECMAScript 是内置对象 提供了对应的构造函数
正则是一种中立于语言的 用于描述特定字符规则的表达式
正则是引用类型
由普通字符 和 特殊字符组成
JavaScript诞生于1995年
这个语言的设计初衷 表单验证
创建正则 有两种方式
1. 自面量创建
var reg = /abc\#/;
// 2. 使用构造函数创建
var reg2 = new RegExp('abc'); console.log(reg); console.log(reg2); console.log(reg == reg2); // false 地址不同
正则中有特殊函数的字符
如果需要匹配如下字符 需要使用 \ 进行转义
. \ / * ? + [ ] ( ) { } ^ | $
RegExp.prototype.test();
语法: reg.test(testString)
参数: testString 需要验证规则的字符串
描述: 用于检测testString是否符合正则表达式的规则,并返回一个布尔值
console.log(reg.test('abc'));
<script> window.onload = function() { var userinput = document.querySelector('#userinput'); var result = document.querySelector('#result'); var reg = /abc/; var reg = /abc/; userinput.oninput = function() { // result.innerHTML = reg.test(this.value) ? '通过验证' : '未通过验证'; result.innerHTML = reg.test(this.value) ? '通过验证' : '未通过验证'; //this.value:指向在文本框中输入的值。 } } </script>
字符集
表示的是一个范围内的字符
字符集使用 [] 表示
在正则中 一个[] 表示一个字符
^ 出现在中括号中 表示的是非
[abc] 匹配abc中的任意一个字 符
[abc][abc][ab] 表示匹配 第一个匹配abc中任意一个字符 第二个匹配abc中任意一个字符 第三个匹配ab中任意一个字符
[^abc][ac] 表示匹配 第一个是非abc 第二个是ac中任意一个字符
[0-9] 表示匹配一个数字
[^0-3] 表示不匹配0-3
[a-z] 表示匹配一个小写字母
[A-Z] 表示匹配一个大写字母
[A-z] 表示匹配一个字母 [A-Za-z]
[A-Za-z0-9_] // 表示匹配 字母 数字 下划线
预定义字符集
预先设置好的字符集
\d 匹配一个数字 [0-9]
\D 匹配一个非数字 [^0-9]
\w 匹配数字字母下划线 [A-z0-9_]
\W 匹配非数字字母下划线 [^A-z0-9_]
\s 匹配一个空白符 (空格、制表符)
\S 匹配一个非空白符
. 匹配一个除回车换(\r\n)行外的任意字符
匹配数量
n? 匹配0次或1次字符n
n* 匹配0次或多次字符n
n+ 匹配1次或多次字符n
n{x} 匹配x次字符n
n{x,y} 匹配x至y次字符n
n{x,} 匹配至少x次字符n
匹配边界
正则表达式 需要验证表单信息时 会设置匹配的边界
^ 表示 匹配的左边界(开始)
$ 表示 匹配的有边界(结束)

浙公网安备 33010602011771号