`
aqingsao
  • 浏览: 174992 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

HTML输入框中限制只输入金额(非负小数)

阅读更多

目前实现了:

1. 只能输入1个小数点

2. 只能输入数字

3. 可以输入以下特殊字符:回退;删除;home;end;箭头

4. 限制用户不能拷贝粘贴;

代码中使用char code进行验证,同时如果按的是数字键,则不能同时按Shift键。

 

下面是JavaScript方法:

 

function limit_money_input() {
    $("input.money").bind("contextmenu", function(){
        return false;
    });

    $("input.money").css('ime-mode', 'disabled');
    
    $("input.money").bind("keydown", function(e) {
        var key = window.event ? e.keyCode : e.which;
        if (isFullStop(key)) {
            return $(this).val().indexOf('.') < 0;
        }
        return (isSpecialKey(key)) || ((isNumber(key) && !e.shiftKey));
    });
}

function isNumber(key) {
    return key >= 48 && key <= 57
}

function isSpecialKey(key) {
    //8:backspace; 46:delete; 37-40:arrows; 36:home; 35:end; 9:tab; 13:enter
    return key == 8 || key == 46 || (key >= 37 && key <= 40) || key == 35 || key == 36 || key == 9 || key == 13
}

function isFullStop(key) {
    return key == 190 || key == 110;
}

 

使用使只需要在页面加载时调用即可,比如用jquery:

$(limit_money_input);
 

 

参考文件:

1. http://unixpapa.com/js/key.html

 

分享到:
评论
4 楼 aqingsao 2009-07-02  
对原文稍作了修改:
1.支持小键盘输入。onkeydown返回的是ascii码,而非对应的unicode码。小键盘输入时的ascii码不同。
2.原来代码可以通过切换输入法输入中文,添加  $("input.money").css('ime-mode', 'disabled');  后屏蔽中文输入。
3 楼 zozoh 2009-05-27  
Sorry,没仔细看LZ的贴,要求不能copy/paste
楼上说的对,所以我怀有愧疚感的贴出正则表达式:

/[0-9]*[.][0-9]/
2 楼 kjj 2009-05-27  
这样验证,我的神,你都能想得出来,正则表达是干什么吃的!!
1 楼 zozoh 2009-05-26  
如果人家 Ctrl+V 一段字咋办?
不如在 change 里检查

相关推荐

    JS通过正则限制 input 输入框只能输入整数、小数(金额或者现金) 两位小数

    例如,在处理金额或现金输入时,我们通常需要限制用户输入整数、小数,并且小数部分最多只能有两位数字。为了实现这样的输入限制,我们可以使用正则表达式来检测用户输入的内容。 正则表达式是一种强有力的文本匹配...

    html限制文本框输入小数点 数字 字母 汉字 等

    在HTML中,经常需要对用户输入进行限制,比如只允许用户输入数字。这在很多场景下都是非常必要的,例如财务数据输入、表单验证等。下面详细介绍几种方法来实现这一功能。 #### 方法一:替换所有非数字字符 ```html...

    js完美解决jsp文本框限制只能输入数字、小数问题

    ### js完美解决JSP文本框限制只能输入数字、小数问题 在Web开发过程中,确保用户输入的数据符合预期格式是一项非常重要的任务。特别是在涉及到数值输入时,开发者常常需要限制文本框仅能接受数字或者带有一定数量...

    HTML输入框限制非字母输入

    首先,HTML中的`&lt;input&gt;`标签用于创建用户输入字段。默认情况下,用户可以在输入框中输入各种字符,包括字母、数字、符号等。为了限制输入,我们可以利用HTML5的`pattern`属性,设置正则表达式来约束输入内容。例如...

    angular 限制输入框为整数还是保留两位小数指令

    angular 限制输入框为整数还是保留两位小数指令

    unigui限制正数输入框 -限制位数++.rar

    在这个场景中,"限制正数输入框"指的是在Unigui中的一个文本输入控件,通常是一个Edit组件,被配置或编程以只接受正整数或者正小数的输入。这通常是通过编写自定义事件处理程序或者使用内置的验证机制来实现的。用户...

    vue 限制输入框为整数还是保留两位小数指令

    vue 限制输入框为整数还是保留两位小数指令,不是数字或者非法数字,大于max,小于min都会把输入框设置为空

    Android的edittext在弹出框中实现输入自动千分位分隔和金额限制

    这个自定义控件"Android的edittext在弹出框中实现输入自动千分位分隔和金额限制"就解决了这样的问题。 首先,我们需要理解的是`EditText`的基本用法。`EditText`是继承自`TextView`的,它添加了文本编辑功能。我们...

    控制输入框只能输入数字

    这个函数将检查输入字符是否符合所设定的规则,并根据不同的输入类型(整数或浮点数)以及特定的格式要求(如小数位数限制),决定是否允许该字符被添加到文本框中。 ### 二、关键代码解析 #### 1. `...

    jquery实现输入框字数限制代码

    在网页开发中,用户输入框(input field)的字数限制是一个常见的需求,尤其是在表单提交、评论系统或在线编辑器等场景下。jQuery作为一个强大的JavaScript库,提供了丰富的功能来帮助开发者实现这样的功能。本篇...

    自定义弹出输入框(输入长度限制).zip

    总之,ZPPOPTextField是一个专注于提升用户体验的自定义输入框组件,它结合了弹出动画和输入长度限制,对于想要在自己的应用中实现类似功能的开发者来说,这是一个极好的学习资源。通过深入理解和运用其中的原理,...

    js 输入框 输入金额 位数限制

    js 输入框 输入金额 位数限制

    c#中只允许输入大于零的小数和整数

    为了确保输入的小数格式正确,我们限制小数点只能出现一次,并且不能出现在数字序列的开头。 #### 5. 字符串操作 字符串的处理在验证逻辑中起着关键作用。我们可以通过遍历字符串中的每个字符,使用`char....

    swift-UITextfield输入框限制的功能封装

    1. **数字限制**:允许用户只输入数字,可以是整数或小数,可以设置最大最小值。 2. **字符长度限制**:限制输入的最大字符数,防止过长的文本导致问题。 3. **正则表达式匹配**:通过正则表达式验证输入格式,如...

    解决webgl输入框无法输入中文插件

    通常,当用户尝试在WebGL场景中使用HTML输入框输入中文时,可能会遇到输入困难或无法输入的情况。这主要是因为WebGL与HTML元素之间的交互存在问题,尤其是在全屏模式下,浏览器的安全策略可能会阻止这种交互,导致...

    js输入框字数限制提醒.zip

    如果"js输入框字数限制提醒.zip"中的代码提供了不同的实现方式,可能涉及到更复杂的逻辑,如处理多行文本、考虑全角字符和半角字符的长度差异、以及在输入过程中动态调整输入框样式等。这些高级特性可以增强用户体验...

    VB.NET 输入框只输入数字、小数点、逗号、退格

    在VB.NET编程中,我们经常需要对用户在输入框(TextBox)中的输入进行限制,确保它们只能输入特定类型的字符,例如数字、小数点、逗号以及退格键。这样的需求在处理财务、数据录入等场景时尤为常见,因为我们需要...

    安卓EditText输入框相关-androidEdittext两位小数输入可用于价格计算器.zip

    这个压缩包“安卓EditText输入框相关-androidEdittext两位小数输入可用于价格计算器.zip”包含了一个示例,展示如何限制`EditText`输入为最多两位小数,这对于构建价格计算器或其他涉及货币输入的应用场景非常有用。...

    vue限制输入框只能输入8位整数和2位小数的代码

    文章介绍的是一项在Vue框架中限制用户输入内容的实践,具体要求用户在输入框中只能输入最多8位的整数和最多2位的小数。这项功能在开发涉及金额、数值计算等场景时尤为常见,需要确保用户的输入是符合格式规定的数字...

    IPV4输入框,输入限制

    本文将深入探讨IPV4输入框的实现原理、功能特性以及如何在实际应用中设置输入限制。 首先,IPV4地址是由32位二进制数表示的网络地址,通常被分为四段,每段8位,用十进制数表示,并以点分隔,如192.168.0.1。IPV4...

Global site tag (gtag.js) - Google Analytics