写程序难免的会遇到各种各样的输入框,为了减少服务器的压力,一般会在前端界面上提前控制用户输入的内容,其中包括两个部分,一个是限定格式,例如保留两位小数等。另外一种是内容的合法性检测,比如手机号的格式检测,出生年份的合法检测等。
这一篇博文是紧接着上一篇博文【web里面常用的正则表达式】来写的,用的方法也就是正则表达式。话不多说,进入正题
手机号
<!--html代码-->
<input type="number" onblur='checkIt(this)' id="text"/>
<span id="msg"></span>
<!--js代码-->
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script>
function checkIt(){
var text=$("#text").val();
var myreg = /^(((13[0-9]{1})|(14[0-9]{1})|(17[0]{1})|(15[0-3]{1})|(15[5-9]{1})|(18[0-9]{1}))+\d{8})$/;
if(myreg.test(text)){
$("#msg").text('合法');
}else{
$("#msg").text('不合法');
}
}
</script>
其他类似的,例如日期格式,只输入数字等可以参考上一篇博客,只要更换里面的正则表达式就好了
保留两位小数
<!--html代码-->
<input type="text" onkeyup='remainTwoPoint(this)' onblur='remainTwoPoint(this)'/>
<!--js代码-->
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script>
function remainTwoPoint(obj){
var val=obj.value;
val = val.replace(/[^\d.]/g,""); //清除"数字"和"."以外的字符
val = val.replace(/^\./g,""); //验证第一个字符是数字
val = val.replace(/\.{2,}/g,"."); //只保留第一个, 清除多余的
val = val.replace(".","$#$").replace(/\./g,"").replace("$#$",".");
obj.value = val.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3'); //只能输入两个小数
};
</script>
判断密码安全级别
<!--html代码-->
<input type="text" onblur='checkIt(this)' onkeyup='checkIt(this)'/>
<span id="msg"></span>
<!--js代码-->
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script>
function checkIt(obj){
var pwd=obj.value;
var reg = /^[\w]{6,16}$/i;//判断密码格式是否正确
var reg1 = /[a-zA-Z]/;//字母
var reg2 = /\d/;//数字
var reg3 = /_/;//下划线
if(reg.test(pwd)){//密码格式正确的情况下
if(reg1.test(pwd)&®2.test(pwd)&®3.test(pwd)){
//高级密码
$("#msg").text("密码安全度高级");
}else if(reg1.test(pwd)&®2.test(pwd)){
//中级密码
$("#msg").text("密码安全度中级");
}else if(reg1.test(pwd)||reg2.test(pwd)){
//低级密码
$("#msg").text("密码安全度底");
}
}
}
</script>
持续更新中。。。