【问题标题】:Price Field Javascript and Jquery validation [closed]价格字段 Javascript 和 Jquery 验证 [关闭]
【发布时间】:2014-04-09 05:10:44
【问题描述】:

我必须使用 javascript/jquery 验证具有以下条件的价格文本框字段:

请帮我为以下验证创建一个 jquery:

  • “价格”字段将采用负值。

  • “价格”字段应该只显示到小数点后第二位(并且只允许用户输入到小数点后第二位)。

  • 不应允许“价格”字段接受字母字符。

  • “价格”字段将接受多个小数。可以保存此值。 (允许多位小数,不允许正则小数,每个小数后只能有2位)。

非常感谢。

【问题讨论】:

  • 你付给我多少钱? :)
  • 多位小数是什么意思?
  • 价格可以像 23.00.56.22.n 等等
  • 你为什么不直接Math.floor()呢?
  • 这不是一个有效的数字。

标签: javascript jquery regex validation


【解决方案1】:

您也可以使用正则表达式来验证价格的值

^-?(\d{1,3})(\.\d{1,2})?$

此正则表达式将接受负数和正数,数字范围为 1 到 999,并且小数点后 2 位

您可以根据需要修改正则表达式。

\d{1,3} - 最多接受 3 位数字

\.\d{1,2} - 将接受最多 2 位的十进制数字

编辑

此正则表达式将允许 999.99.99.99 或 999.99.99 类型值

^-?(\d{1,3})(\.\d{1,2})*?$

解释

(\.\d{1,2})* - This will accept dot multiple times

【讨论】:

  • 部分工作,但在小数点后不验证(.)。每个小数点后应占用 2 位数字。
  • 编辑了我的答案。试试这个`^-?(\d{1,3})(\.\d{1,2})*?$`
  • 感谢分配其正常工作
【解决方案2】:

嗨,请试试这个正则表达式,

/^\d+(?:(\,||\.)\d\d?)*?$/

eg:

var newVal = $("#priceTextBox").val();
 var regexp = /^(0|[1-9]+[0-9]*)$/;

        if (regexp.test(newVal)) {
           alert("valid Price");

        }else{
               alert("Invalid");
        }

【讨论】:

  • 你应该围绕这个添加一些 JS 代码,也许还有几个例子
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多