我是靠谱客的博主 暴躁小懒虫,最近开发中收集的这篇文章主要介绍前端input标签之输入框输入金额校验,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1.html的内容

// input标签
<input type="text" id="tmoney" name="tm" class="formsub"/>

2.js的内容

// 前提:引如jQuery包
$("#tmoney").on('input
propertychange',function(){
//确保输入的是数字
this.value = this.value.replace(/[^d.]/g, '');
//确保第一个输入的是数字
this.value = this.value.replace(/^./g,'');
//确保不能输入两个小数点
this.value = this.value.replace(/.{2,}/g,'.');
//保证小数点只出现一次,而不能出现两次以上

this.value = this.value.replace('.','$#$').replace(/./g,'').replace('$#$','.');
//确保只能输入两位小数
this.value = this.value.replace(/^(-)*(d+).(dd).*$/,'$1$2.$3');
})
$("#tmoney").blur(function(){
//如果输入框为空,则替换为0.00
if(this.value == ""){
this.value = "0.00";
}
})

(1)以上JQuery限制输入内容是只能是带两位小数的金额
(2)可以同时绑定 propertychange 1input 2 事件,这两个事件其实是一回事,只是不同的标准罢了。
(3)后面的 blur 事件主要是用于判断当输入框为空时自动填充0.00

3.更快捷的方式

// 该方法简单便捷,但不支持小数点的输入金额
<input id="tmoney" class="formsub" type="text" name="tm"
value="" onkeyup="this.value=this.value.replace(/D/g,'')" onafterpaste="this.value=this.value.replace(/D/g,'')"/>

1. 正则式验证将输入值为非数字的字符替换为空。
2. this.value 表示此输入框的值,/D/g 为正则表达式,用来匹度配所有非数字字符包括小数点。

说明 :本文为查阅收集所整理的内容,若有涉及到版权问题请联系处理。


  1. propertychange 是IE浏览器专属的事件,只要当前对象的属性值发生改变就能触发该事件。 ↩︎

  2. input 是标准的浏览器(W3C)事件,一般应用于input元素,当input元素的value发生变化就会触发,无论是键盘输入还是鼠标,或者复制粘贴的值都能及时监听到变化。 ↩︎

最后

以上就是暴躁小懒虫为你收集整理的前端input标签之输入框输入金额校验的全部内容,希望文章能够帮你解决前端input标签之输入框输入金额校验所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(75)

评论列表共有 0 条评论

立即
投稿
返回
顶部