相关疑难解决方法(0)

如何使用jQuery仅允许HTML输入框中的数字(0-9)?

我正在创建一个网页,其中我有一个输入文本字段,其中我只允许数字字符,如(0,1,2,3,4,5 ... 9)0-9.

我怎么能用jQuery做到这一点?

html validation jquery numeric

869
推荐指数
35
解决办法
148万
查看次数

177
推荐指数
4
解决办法
12万
查看次数

在输入时验证html文本输入

在键入HTML文本输入时,验证HTML文本输入的最佳方法是什么?我所知道的所有方法都有一些缺点:

  1. 使用$.keypress您只能访问输入的旧值,而不是新值.此外,将无法检测到某些事件(如使用鼠标进行剪切/粘贴).

  2. $.change仅在输入失去焦点时才使用.

  3. 这个问题提出了一个解决方案,您可以使用轮询来监视属性更改.原则上,可以在回调中验证新值,如果无效则可以恢复为旧值.然而,除了要求投票之外,我不确定它是否没有竞争条件.

  4. 本文建议使用浏览器特定功能,如果没有可用则回退到轮询.看起来是迄今为止最好的方法.

  5. [更新]如答案中所指出的,$.keyup更新后可以访问该值.但是,它不仅不适用于鼠标剪切/粘贴,而且如果按住某个键也会失败,只有在输入很多内容后才会释放.或者,如果组合keydownkeyup保存/恢复旧值,则在用户键入太快时会中断.

以上解决方案都没有错误或非常安全的跨浏览器.那里有更好的解决方案,既可以随时使用,也可以在制造中使用?似乎是一个常见的问题,我最近试图回答类似的 问题,没有成功,我也对答案感兴趣.

(对于这种做法的一个好的论据也是受欢迎的,如果实施此验证会出现新的问题;但是,这在其他语言中似乎是常见的,所以我怀疑这是一件坏事要想)

javascript validation jquery

29
推荐指数
3
解决办法
5万
查看次数

不允许在<input type = number />中键入字母字符

我需要一个文本框,每当输入内部时,只允许数字[0-9].我用过type="number"哪个肯定持有客户端验证,但也允许键入其他字母表.我可以通过跟踪每个keydown和匹配正则表达式来做到这一点,但我想知道是否有任何方法我可以限制只使用html标签键入并且不定义JavaScript中的任何函数来比较每个keydown?

不足以执行此操作的代码是:

    <input type="number" id="txt_number" maxlength="70" name="txt_name" placeholder="Number">
Run Code Online (Sandbox Code Playgroud)

任何帮助表示赞赏.

html javascript html5 numbers

17
推荐指数
2
解决办法
9万
查看次数

jquery keyup函数检查数字

我正在尝试创建一个输入字段,用户只能输入数字.这个功能对我来说已经很好了:

        $('#p_first').keyup(function(event){
        if(isNaN(String.fromCharCode(event.which))){
            var value = $(this).val();

            $(this).val(value.substr(0,value.length-1));
        }
    });
Run Code Online (Sandbox Code Playgroud)

但问题是,当用户持有带有角色的键时,功能键盘没有触发....任何想法我怎么能禁止这个?

jquery function character keyup

14
推荐指数
3
解决办法
7万
查看次数

输入数字验证 - 限制只输入数字或数字,int和float两者

如何限制输入字段只输入数字/数字int和浮动两者.有时我们需要允许像amount这样的字段的整数和浮点值,因此在这种情况下需要验证.没有可用的解决方案,但它们具有大尺寸代码.因此需要一个简短但有效的代码.

<p> Input box that accepts only valid int and float values.</p>
<input class="number-only" type=text />
Run Code Online (Sandbox Code Playgroud)

javascript floating-point validation jquery numbers

8
推荐指数
2
解决办法
2万
查看次数

jQuery Spinner:非数值

我正在使用jQuery Spinner,设置了min(0)和max(500)值.我该怎么做才能防止用户在输入框中直接输入非数值(或0-500范围之外的值)?当用户使用微调按钮时,最小值和最大值有效,但在输入表单中输入内容时则不起作用.

javascript jquery jquery-ui-spinner

3
推荐指数
1
解决办法
6104
查看次数

如何限制“正数”仅作为文本框的输入(仅允许“-99”)?

如何使用 jQuery 验证器插件限制“正数”仅作为文本框的输入(仅允许“-99”)?

asp.net validation jquery jquery-validate

1
推荐指数
1
解决办法
2万
查看次数