正则表达式
[ ] :需要匹配的字符 { } : 需要匹配的数量 ( ) : 用来进行规则的分组
量词: + : 最少一个 * : 0个或多个 ? : 0个或1个
修饰符: i : 忽略大小写 g : 执行全局匹配
\d : 表数字[0-9] \D : 非数[^0-9] ^表取反 \w : 英文,数字,下划线 [a-zA-Z0-9_] \W : 与\w相反 \s : 空格 \S : 非空格
定义方式 : 1 new RegExp (); 2 var regExp = /^[ 规则]$/;
示例: var regExp = /^[0-9]+$/; ^ : 开始 $ : 结尾 规则:[0-9] : 表数字 等价于\d(小写)
方法: 1 test () : 找到指定字符串,返回布尔型 注: test() 是RgeExp 的方法
var regExp = /^[abc]$/; var regExp = /^[abc]+$/;
alert(regExp.test("a")); 返回 : true alert(regExp.test("aa")); 返回 : true
2 match() : 将匹配的内容放到数组中;(使用match方法时去掉^$)
var regExp = /[0-9]+/g;
var str = "abf3sf789sfd2434db";
console.log(str.match(regExp));
结果为:
( "3","789","2434")
3 replace () : 替换
var textValue = document . form.text.value; 一个表单里某个文本框的值
var regExp = /某个文字/g;
document.form.text2.value = textValue.replace(regExp,"*"); 将某个文字替换成*.
示例:
验证手机号码:138|139|186|151 12345678
var regExp = /^(138|139|186|151)\d{8}$/;
验证座机号码:0818(010)-12345678-1234(123)
var regExp = /^(\d{3,4}\-)?\d{8}(\-\d{3,4})$/;
邮箱:
var regExp = /^[a-z0-9_]+@[a-z0-9]+\.[a-z]+$/;
身份证:
var regExp = /^(\d{15}|\d{17}[0-9x])$/;
判断年龄:18-60
var regExp = /^(1[8-9]|[2-5][0-9]|60)$/;