一、
一位数字字母下划线 \w=[0-9A-Za-z_]
一位空格tab键 \s
一位数字 \d
二、量词:用大括号表示{m,n},最少出现m次,最多出现n次
有明确数量限制 {m,}最少出现m次,多了不限
{m}必须出现m次
三、string中的正则API
1.search(/正则/);查找一个关键字所在的位置
找不到返回-1
找到的是关键字的位置,找不到内容
var str='you can you up';
var reg=str.search(/you/);
console.log(reg);
2.match(/正则/); 获得所有和正则匹配的关键词 输出在数组
g表示输出所有和正则匹配的关键词
i表示忽略大小写
var str='good gooD study,day day up';
var num=str.match(/d/ig);
console.log(num);
3.replace(/正则/,'替换值');
var str='no zuo No die';
var num=str.replace(/no/ig,'**');
console.log(num);
4.split(/正则/); 切割 切割完变成数组
var str='no,zuo,no,die';
var num=str.split(/,/);
console.log(num);
例:
获取输入框和span
var input=document.querySelector('input');
var span=document.querySelector('span');
input.onblur=function(){
var reg=/^[0-9A-Za-z_]{6,12}$/;
var result=reg.test(input.value);
if(result){
span.innerHTML='用户名格式正确';
}else{
span.innerHTML='用户名格式错误,请重新输入';
}
}
身份证号正则
var wrt=prompt('请输入您的身份证号');
var reg=/^\w{17}[0-9xX]$/;
var result=reg.test(wrt);
console.log(result);
手机号码正则
var wrt=prompt('请输入你的手机号');
var reg=/^(0086|86)?\s*1[356789]\d{9}$/;
var result=reg.test(wrt);
console.log(result);