码迷,mamicode.com
首页 > 其他好文 > 详细

easyui-numberbox限定仅输入数字

时间:2017-12-23 17:08:26      阅读:209      评论:0      收藏:0      [点我收藏+]

标签:easyui   ble   支持ie   允许   precision   ***   this   输入   func   

许多必填项都涉及到数字,比如电话号码,身份证号这些要求用户在输入时只能输入数字。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限定仅输入数字

标签:easyui   ble   支持ie   允许   precision   ***   this   输入   func   

原文地址:http://www.cnblogs.com/tulpen/p/8093482.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!