【问题标题】:Need to restrict a textbox input for a single decimal需要限制单个小数的文本框输入
【发布时间】:2016-09-08 07:11:48
【问题描述】:

我是 Jquery 的新手。我只是想在使用正则表达式的文本框中只添加一个十进制值。因为它允许“。”。但是,我需要限制为只有一个“。”。有人可以建议我这样做吗?任何帮助将不胜感激。

我的代码是:

$("#cashReceived").filter_input({regex:'[0-9-.]'});

谢谢。

【问题讨论】:

标签: javascript jquery regex


【解决方案1】:

如果您使用的是this plugin,则不能。你最好再找一个库/插件。

原因:插件逐字符检查(除非用户复制粘贴文本)。

相关部分来自the code:

...
if (event.type=='keypress') {

  var key = event.charCode ? event.charCode : event.keyCode ? event.keyCode : 0;

  ...

  var string = String.fromCharCode(key);
  ...

if (regex.test(string)) {

【讨论】:

    【解决方案2】:

    您可以使用此正则表达式来只允许最大但可选的小数点:

    $("#cashReceived").filter_input({regex:'[-+]?[0-9]+(\\.[0-9]+)?'});
    

    【讨论】:

    • 您能否针对您的问题生成一个 JSFIDDLE?你也可以试试这个regex:'[0-9]+\\.[0-9]+'
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-09-06
    • 2019-07-23
    • 2018-11-14
    • 1970-01-01
    • 2016-01-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多