easyui-numberbox限定仅输入数字

Posted 昨日的世界

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了easyui-numberbox限定仅输入数字相关的知识,希望对你有一定的参考价值。

许多必填项都涉及到数字,比如电话号码,身份证号这些要求用户在输入时只能输入数字。Easyui提供了数字框控件,允许用户只输入数字,

<td>
<input id="ssd" type="text" class="easyui-numberbox" data-options="precision:‘2‘"
name="ssd" value="0" style="width:100px;"
onkeyup="noNum(this)" /> 

</td>

这是普通输入框,采用easyui-numberbox控件,经过测试发现,在输入法为英文输入法时,的确只能输入数字,但是在中文输入法下,键盘上的任何字符都可以随便输入。这显然不符合用户需求。虽然html提供了一个限制输入法的方法,style="ime-mode:disabled ",但是只支持IE,其他浏览器都不支持该方法。

方案:

既然控件无法解决,只能另外写方法。最简单的方法就是用正则表达式,将不是数字的字符剔除,以下js来源于百度,非原创。请支持原创作者。

/******只允许输入数字和小数点*****/
function noNum(obj)
{
obj.value = obj.value.replace(/[^\d.]/g,""); //清除“数字”和“.”以外的字符
obj.value = obj.value.replace(/^\./g,""); //验证第一个字符是数字而不是.
obj.value = obj.value.replace(/\.{2,}/g,"."); //只保留第一个. 清除多余的.
obj.value = obj.value.replace(".","$#$").replace(/\./g,"").replace("$#$",".");//保证.只出现一次,而不能出现两次以上
}

以上是关于easyui-numberbox限定仅输入数字的主要内容,如果未能解决你的问题,请参考以下文章

text-align 属性,输入框数字向右靠

input 只能输入数字,限定输入

使用replace限定只能输入数字,最多有两位小数

input输入框限定为数字

excel vba 将一个文本框TEXTBOX1限定只能输入数字,如果输入其他汉字或者字母提示,输入错误,请输入数字

如何限定TEDIT只能输入数字或汉字或字母