代码之家  ›  专栏  ›  技术社区  ›  Zack

HTML数字值的输入字段模式。

  •  1
  • Zack  · 技术社区  · 13 年前

    我有一个输入字段,用于从用户那里获取货币金额。我正在使用jQuery Money Mask 函数在用户的输入上加上一个掩码。例如,如果用户键入“100000”,它将在输入字段中显示为“$1000.00”。问题是我为输入字段设置了一个模式,将其限制为仅限数值。我需要修改这个正则表达式( pattern="[0-9]*" )从而接受货币条件。非常感谢您的帮助!

    输入字段的代码:

    <input name="rentPayment[paymentAmount]" id="paymentAmount" placeholder="0.00" value="" type="text" pattern="[0-9]*">

    2 回复  |  直到 13 年前
        1
  •  3
  •   anazimok    13 年前

    我不熟悉JQuery Money Mask,但如果您只需要正则表达式,那么下面的内容应该足以允许货币值。

    pattern="[0-9$,.]*" - would allow 0-9 dollar sign, comma and period zero or more times.
    
        2
  •  2
  •   Aram Kocharyan    13 年前

    怎么样:

    \$(\d(,?\d+)*)+(\.\d+)?
    

    这将支持:

    $324234.23423
    $3,242,343
    $3,242.4234
    $3242

    但我不会建议这种方法,因为它将取决于用户的本地化,而且它也依赖于插件——这实际上只是 掩蔽 用户的输入。我更愿意像您所做的那样验证用户的字符串,并让屏蔽插件完成它的美化工作。因此,您需要在插件出现之前进行验证。

    对此,一个可行的解决方案是将验证字段留空-Money Mask将为您进行验证,因此在这种情况下,您不需要外部模式来进行进一步的验证。