正则表达式简介
定义
是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。 功能
功能
我们经常用正则表达式来进行: (1)验证 (2)替换文本 (3)查找
定义的格式
可以用两种方式来定义: 1)var re =/pattern/[flags] 2)var re= new RegExp("pattern",["flags"]) pattern: 要使用的正则表达式模式 flag: g(全文查找)、i(忽略大小写)、m(多行查找) 3)使用语法 正则表达式变量.test(要验证的字符串) 如 re.test("xxxx");
1常用的元字符
\d 代表0-9的数字 \D 代表任意非数字 通俗的说就是只要不是数字就OK \w 代表任意的单词字符 包含a-z A-Z 0-9 _ 等 \s 代表空白字符 如制表符 回车符等等 \S 代表非空白字符
常用的重复字符
{n} 代表前一项出现n次 {n,} 代表前一项最少出现n次至多不限制 {n,m} 前一项最少出现n次 最多出现m次 ? 代表前一项出现0或者1次 + 代表前一项出现一次或者多次 * 代表前一项出现0次或者多次 | 代表或者
位置字符
^ 开始符号 $ 结束符号 \b 匹配一个单词的单词边界 \B 匹配一个非单词边界
特殊字符转义
如果想在正则表达式中写固定的特殊字符 那么需要用\进行转义
使用案例如下
1)验证用户名必须是3-10位字母组成
<script type="text/javascript"> function test0(){ var reg=/^[a-z]{3,10}$/i; var username=document.getElementById("username").value; if(reg.test(username)){ alert("验证通过"); }else{ alert("验证没通过"); } } </script>
1)验证邮政编码
<script> function f1() { //找对象:获取文本框中的值 var a = document.getElementById("a").value; //定义邮编的正则表达式 且邮政编码不能以0开头所以第一位必须是1-9的数字 var reg = /^[1-9]\d{5}$/; //开始验证 if(!reg.test(a)) { alert("邮编不正确"); } } </script>
1)验证手机号
<script> function f1() { //找对象:获取文本框中的值 var a = document.getElementById("a").value; //定义验证手机号的正则表达式 //手机号以1开头 第二位可以是 3、5、8、7、4几位数字后面九位任意 var reg = /^1(3|4|5|8|7)\d{9}$/ //开始验证 if(!reg.test(a)) { alert("手机号格式不正确"); } } </script>