在小程序端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>
沃梦达教程
本文标题为:比较完善的数字格式化验证实例代码
基础教程推荐
猜你喜欢
- CSS结合样式 1970-01-01
- Bootstrap向表中添加更密集的信息 1970-01-01
- Bootstrap clearfix类 1970-01-01
- Bootstrap .helper类 1970-01-01
- D3.js selectAll()用法 2022-07-13
- Bootstrap .pagination-sm类 1970-01-01
- Bootstrap垂直堆栈选项卡 1970-01-01
- CSS加载社交按钮 1970-01-01
- Bootstrap创建下拉菜单 1970-01-01
- Bootstrap table-hover类 1970-01-01