正则表达式写法和细节

1、普通字符
2、特殊意义的元字符:\d数字字符;
\d [0-9]
\D 非数字
\w word 匹配的是单词字符 a-z A-Z 0-9 _
\W 非单词字符
\s 空字符(不可见) 空格 \t \n
\S 匹配可见字符
. 匹配任意字符 (除去\n)
\. 匹配的点
3.正则优先级
|或,优先级最低;
()分组,优先级最高;/(f|b)oot/.test(foot)//true
[]:表示一个字符的位置,[]内表示可以出现的字符
/a|b|c/===/[abc]/;
/[a-z]/只要出现一个!小写字母
[^]:表示非
/[0-9]/
4.边界字符
^表示开始;$表示结束
chuan ^c开头,n$结尾
^ $;精确匹配
5.量词元字符
*:表示出现0次或者0次以上
+:表示1次或者1次以上;
?:表示0次或者1次;
{n,m} :出现n到m次;
{n,}:出现n或者n次以上
{n} :出现n次

验证姓名:
必须是汉字,长度2-4,
unicode编码中中文范围:\u4e00-\u9fa5
[\u4e00-\u9fa5]{2,4};

注册事件用blur事件,失去焦点验证:
input.onblur = function(){
var telRex =/ ^1[3457]\d{9}$/
if(telRex.test(this.value)){
this.nextElementSibling.innerText ="合法";
}else{
this.nextElementSibling.innerText ="不合法";
}
}
正则替换;
replace()替换字符串替换一次,参数也可以是正则参数:/\d/g :global全局的
str.replace(ad,"xx");只能替换字符串中的ad一次;
str.replace(/ad/g,"xx");
/\d/i i:ignore
str.replace(/ad/gi,"xx");忽略忽略大小写。
str.replace(/\s/g,"");把所有的空去掉:

字符串匹配:
var reg = /\d{1,2}/g;
var arr = str.match(reg);返回值是数组

你可能感兴趣的:(js高级)