实现数字输入限制的JavaScript函数

需积分: 1 0 下载量 180 浏览量 更新于2024-09-11 收藏 4KB TXT 举报
这段代码是用于JavaScript中的一个函数库,主要关注于限制文本框(input type="text")中用户输入的字符,确保它们仅包含数字。标题"文本只输入数字"明确指出了这个功能的核心目的。以下是详细的解释: 1. `getEvent()`函数:这是一个辅助函数,用于在不同浏览器环境中获取事件对象。在IE浏览器下,它使用`window.event`,而在其他现代浏览器(如jQuery环境)下,通过`.caller`属性递归查找事件源。这个函数的主要目的是在兼容性范围内正确处理键盘事件。 2. `OnlyNum(obj)`函数:这是主体函数,接收一个DOM元素(通常是文本框)作为参数。首先,它获取当前文本框的值并将其保存在`Origanl`变量中,以备后续检查。接着,根据浏览器类型(IE或非IE)来判断键值事件: - 在IE浏览器中,函数检查`keyCode`,如果键值不在48到57(数字键)、8(退格)、9(Tab)、190(小数点)或46(删除键)范围内,阻止事件默认行为。 - 在非IE浏览器中,`charCode`被用来检查,排除非数字字符。同时,为了防止用户通过组合键输入非数字字符(例如通过Ctrl + .输入小数点),只有当没有按住Ctrl键时,才会检查是否输入了不符合要求的字符。 3. `KeyUp(obj, _bFormat)`函数:这个函数可能与`OnlyNum`函数类似,但它是对keyup事件的响应。它接受两个参数:一个DOM元素和一个布尔值`_bFormat`。它定义了一个正则表达式`_Regex`来验证输入值是否符合数字格式,包括正负号和最多六位整数加上最多三位小数。如果输入不符合格式,它会进行相应处理,如移除小数点前的零、强制格式化等。 这段代码提供了在文本框输入场景中限制用户输入的数字格式的功能,确保输入数据的准确性,适用于各种浏览器环境。通过使用这些函数,开发者可以实现对数字输入的精确控制,提升用户体验。