[web] 输入框的格式限制以及判断内容是否合法

写程序难免的会遇到各种各样的输入框,为了减少服务器的压力,一般会在前端界面上提前控制用户输入的内容,其中包括两个部分,一个是限定格式,例如保留两位小数等。另外一种是内容的合法性检测,比如手机号的格式检测,出生年份的合法检测等。

这一篇博文是紧接着上一篇博文【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)&&reg2.test(pwd)&&reg3.test(pwd)){
				//高级密码
				$("#msg").text("密码安全度高级");
			}else if(reg1.test(pwd)&&reg2.test(pwd)){
				//中级密码
				$("#msg").text("密码安全度中级");
			}else if(reg1.test(pwd)||reg2.test(pwd)){
				//低级密码
				$("#msg").text("密码安全度底");
			}
		}	
	}
</script>

持续更新中。。。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值