js的封装和基础的正则表达式的样式
//1.创建
//let reg =new RegExp("a","i");//构造函数 "i"无视大小写
//let reg2 = /a/i; //字面量的方法 常用
//console.log(reg.test("abc")); //true
//需求一:密码是六位的数字,
//let psw = prompt("请输入一个6位数字的密码");
//正则验证
//let reg = /^[0-9]{6}$/;
//console.log(reg.test(psw));
//js验证
/*if(psw.length == 6){ //验证6位
let flag = true; //标记变量
for(let i = 0;i<psw.length;i++){ //循环密码
if(!(psw[i] >= 0)){ //验证非数字时
flag =false; //给标记变量赋值为false
break; //结束循环
}
}
//循环完之后验证标记变量
if(flag){
alert("密码OK");
}else{
alert("密码必须时数字");
}
}else{
alert("密码必须是6位数");
}*/
//需求2.中国大陆区域的手机号
let tel = prompt("请输入中国大陆区域的手机号");
//正则规则:长度:11位 类型:数字 ,首位为1 , 第二位:3578 任意一个 , 第三位0-9任意
//let reg = /^1[3578]{1}[0-9]{9}$/ //正则规律
//console.log(reg.test(tel));
//alert(reg.test(tel));
//js 验证:
//法一将验证放在外层if内 修改了循环开始条件
//let tel = prompt("请输入中国大陆区域的手机号");
/*if(tel.length == 11 && tel[0] == 1 &&(tel[1] == 3 ||tel[1] == 5 ||tel[1] == 7 ||tel[1] == 8 )){ //验证11位
let flag = true; //标记变量
for(let i = 0;i<tel.length;i++){ //循环密码
if(!(tel[i] >= 0)){ //验证非数字时
flag =false; //给标记变量赋值为false
break; //结束循环
}
}
//循环完之后验证标记变量
if(flag){
alert("号码OK");
}else{
alert("号码必须时数字");
}
}else{
alert("号码必须是11位数");
}*/
//法二:将验证放在for循环里的内层if循环
/*if(tel.length == 11 )){ //验证11位
let flag = true; //标记变量
for(let i = 0;i<tel.length;i++){ //循环密码
if(tel[0] != 0 ||(tel[1] != 3 &&tel[1] != 5 &&tel[1] != 7 &&tel[1] != 8) ||!(tel[i] >= 0)){ //验证非数字时
flag =false; //给标记变量赋值为false
break; //结束循环
}
}
//循环完之后验证标记变量
if(flag){
alert("号码OK");
}else{
alert("号码必须时数字");
}
}else{
alert("号码必须是11位数");
}*/
// 正则表达式解决浮点数
function testFloat(num){
let reg =/^-?[0-9]+\.[0-9]+$/ //正则
//^开始 -? -匹配0次或1次 [0-9]+ 匹配数字 1以上 \.小数点 $结束
if (reg.test(num)) {
alert(num + "浮点数")
} else{
alert(num + "No");
}
}