需要限制单个小数的文本框输入

时间:2014-02-15 10:21:03

标签: javascript jquery regex

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

我的代码是:

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

谢谢。

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分: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)) {