javascript的正则表达式

正则表达式就是专门为了校验数据而产生的一个语法,除了可以校验数据,还可以提取一些想要的固定模式数据,还可以替换数据 - 替换字符串(正则表达式主要用于字符串的处理 ) 正则表达式就是一个模式,可以用来校验、提取、替换数据。(正则可以任何语言中使用)

比如注册界面:

javascript的正则表达式

首先,我们先来创建一下正则表达式(字面量的形式——直接创建)
var reg = /写一些规则/;
js基于对象的,任何操作在内部都是对象,任何数据都有构造函数的创建方式 :
var reg = new RegExp(); ——以构造函数的形式创建正则表达式 var reg = RegExp();

正则表达式的学习就是学习如何写规则,在正则中有一些常用的方法是用来验证是否符合规则:
test()——test()方法是属于正则的方法,是用来验证字符串是否符合规则,而且返回值是布尔值(true或者false)。

运行效果:
javascript的正则表达式
javascript的正则表达式
返回值说明字符串符合规则。

search()——search()方法是属于字符串的方法,search方法就是在字符串中查找满足正则表达式的一部分,search也可以作为验证的方法,如果找到了就返回下标,找不到返回-1。

javascript的正则表达式
javascript的正则表达式
打印结果说明字符串中没有符合规则的元素。
我在字符串中加入一个数字,看看能不能返回下标。
javascript的正则表达式
javascript的正则表达式
打印结果是3,说明符合规则的元素实在下标是3的位置上。

exec()——exec()是正则的一个方法,这个方法返回的是一个数组,通常匹配到的内容,就是这个数组的第一个元素
javascript的正则表达式
javascript的正则表达式
打印res的结果是一个数组,res[0]就是数组中的第一个元素2

match()——match()是字符串的一个方法,这个方法是从字符串中提取满足规则的元素,返回的是一个数组
javascript的正则表达式
javascript的正则表达式
返回值是一个数组,数组的第一个元素就是符合规则的。

replace()——replace()是字符串的一个方法,这个方法是用来替换匹配到的内容。
javascript的正则表达式
javascript的正则表达式
返回结果中,1被替换成了你。

元字符 ——用来代表数据中规则
\d—— 代表任意一个数字 - [0-9]
\D ——代表任意一个非数字
\w ——代表任意一个数字、字母、下划线
\W ——代表任意一个非数字、字母、下划线
. ——代表任意一个字符
\s ——代表任意一个空格
\S ——代表任意一个非空格
/bc/——规则还可以是普通的字符
如果要提取多位数字——对字符做修饰
var reg = /\d{2}/;
{n} ——表示这个字符要有n个
{n,m} —— 表示最少n位,最多m位 都能匹配到
{n,} —— 表示最少n位,少于n位就匹配不到,大于n位都能匹配到
+——修饰字符的位数,至少1位,至多不限
?——修饰字符的位数,至多1位,再多了就匹配不到 - 可有1位也可以没有

javascript的正则表达式
有一种模式修饰符可以让 正则在匹配的时候变得贪婪
匹配的时候,从做往右匹配到第一个满足规则的部分就返回了
匹配一次不够,继续匹配,直到将字符串都走过之后,将所有满足规则的部分都返回

javascript的正则表达式
javascript的正则表达式
返回所有匹配到的数字。
还有一个模式修正符是 忽略大小写的 i
javascript的正则表达式
javascript的正则表达式
如果是匹配开头是大小写的a-zA-Z
javascript的正则表达式
javascript的正则表达式
大小写都会匹配到。