比较完善的数字格式化验证实例代码

在小程序端input为number类型的表单,调出的键盘只有数字且没有小数点和负号。显然并不符合要求。所以我们用text类型来自己判断 1,必须为数字 2,第一位不是小数点,且只能出现一个小数点 3,负号只能出现在第一位,且只能出现一次 4,如果是小数的话只保留

在小程序端input为number类型的表单,调出的键盘只有数字且没有小数点和负号。显然并不符合要求。所以我们用text类型来自己判断

1,必须为数字

2,第一位不是小数点,且只能出现一个小数点

3,负号只能出现在第一位,且只能出现一次

4,如果是小数的话只保留两位小数

<input type="text" onblur="checkNum(this)">
<script>
function checkNum(obj){
	let val = obj.value.replace(/(^\s*)|(\s*$)/g, "")
		// 只能是负号,数字和小数点,不能是其他输入
		val = val.replace(/[^\d.?!\-]/g, "")
		// 保证第一位不能是点
		val = val.replace(/^\./g, "");
		// 负号只能出现一次
		val = val.replace("-", "$#$").replace(/\-/g, "").replace("$#$", "-");
		// 负号不能在中间出现
		val = val.replace(/(\d+)\-(\d*)/g, '$1$2');
		// 小数只能出现一次
		val = val.replace(".", "$#$").replace(/\./g, "").replace("$#$", ".");
		// 小数点后面保留2位
		val = val.replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3');
		// 重新赋值
		obj.value = val
}
</script>


 

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

在javascript中将GBK转UTF-8的实例代码,具体代码如下,希望能够帮到您: script type="text/javascript" var easyUTF8 = function(gbk){ if(!gbk){return '';} var utf8 = []; for(var i=0;igbk.length;i++){ var s_str = gbk.charAt(i); if(!(/^%u/i.test(e
file对象转blob对象进行预览的实例代码: //获取到 file文件var reader = new FileReader();reader.readAsArrayBuffer(file);reader.onload = function (event) { let blob = new Blob([event.target.result], { type: file.type }); //{ type: file.type }
js文件上传前的预览和删除实例代码,具体如下: !DOCTYPE htmlhtml lang="en" head meta charset="UTF-8" / meta http-equiv="X-UA-Compatible" content="IE=edge" / meta name="viewport" content="width=device-width, initial-scale=1.0" / title文件上传
layui表格:设置表头居中,内容居左的实例代码:表头在属性中控制,内容直接用css样式控制 { field: 'Result', title: '结果', align: 'center', width: '60%', templet: function (d) { return 'div style="text-align:left"' + d.Result + '/div' }},
layui的tab选项卡、刷新保持在当前页面的实例代码: // 刷新 $('.layui-tab-title li').click(function(){ var picTabNum = $(this).index(); sessionStorage.setItem("picTabNum", picTabNum); }) // //刷新保持在当前页面 $(function () { var getPicTabNum
本文给大家介绍Javascript js中实现和PHP一样的时间戳格式化函数的方法,具有一定的参考借鉴价值,需要的朋友可以参考下,我们知道在php中有一个date()函数,可以方便的把时间戳格式化为时间字符串。可是在js中,我们要想实现这种效果,要写好多好多代码,非