js 正则表达式(js正则表达式语法大全详解)

概述

1、什么是正则表达式,有什么用?
正则表达式:Regular Expression。在编写处理字符串的程序或网页时,经常会有查找符合某些复杂规则的字符串的需要。正则表达式就是用于描述这些规则的工具。换句话说,正则表达式就是记录文本规则的代码。正则表达式主要用在字符串格式匹配方面。
2、正则表达式实际上是一门独立的学科,大部分编程语言都支持正则表达式。正则表达式最初使用在医学方面,用来表示神经符号等。目前使用最多的是计算机编程领域,用作字符串格式匹配。包括搜索方面等。
3、在JS当中,创建正则表达式对象使用new对象的方式,同时可以调方法。

常用正则表达式

常用的元字符

 

常用的元字符
. 匹配除换行符以外的任意字符
\w 匹配字母或数字或下划线或汉字
\s 匹配任意的空白符
\d 匹配数字
\b 匹配单词的开始或结束
^ 匹配字符串的开始
$ 匹配字符串的结束
常用的限定符

 

常用的限定符
* 重复零次或更多次
+ 重复一次或更多次
? 重复零次或一次
{n} 重复n次
{n,} 重复n次或更多次
{n,m} 重复n到m次
常用的反义代码

 

常用的反义代码
\W 匹配任意不是字母,数字,下划线,汉字的字符
\S 匹配任意不是空白符的字符
\D 匹配任意非数字的字符
\B 匹配不是单词开头或结束的位置
[^x] 匹配除了x以外的任意字符
[^aeiou] 匹配除了aeiou这几个字母以外的任意字符

创建正则表达式对象、调用对象的方法

第一种创建方式:

var regExp = /正则表达式/flags;

第二种创建方式:

使用内置支持类RegExp
var regExp = new RegExp("正则表达式","flags");

关于flags:

g:全局匹配
i:忽略大小写
m:多行搜索(ES规范制定之后才支持m,当前面是正则表达式的时候,m不能用。只有前面是普通字符串的时候,m才可以使用)

邮箱地址的正则表达式

正则表达式对象的test()方法

true / false = 正则表达式对象.test(用户填写的字符串);
true:字符串格式匹配成功
false:字符串格式匹配失败

<body>
	<script type="text/javascript">
		window.onload = function(){
			document.getElementById("btn").onclick = function(){
				var email = document.getElementById("email").value;
				var emailRegExp = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
				var ok =  emailRegExp.test(email);
				if (ok) {
					document.getElementById("emailerror").innerText = "邮箱地址合法";
				} else{
					document.getElementById("emailerror").innerText = "邮箱地址不合法!";
				}
				/*给文本绑定focus*/
			document.getElementById("email").onfocus = function(){
				document.getElementById("emailerror").innerText = "";
			}
			}
		}
	</script>
	<input type="text" id="email" />
	<span id="emailerror" ></span>
	<br />
	<input type="button" value="验证邮箱" id="btn" />
</body>

js 正则表达式(js正则表达式语法大全详解)


js 正则表达式(js正则表达式语法大全详解)


获得文本框焦点时:

js 正则表达式(js正则表达式语法大全详解)