提问者:小点点

“货币”字段的HTML输入模式


试图对HTML输入元素使用正则表达式模式,该模式将字符限制为0-9,“,”,“-”,“。”,“$”

我在regex方面的经验很少,在input元素上使用了pattern=[0-9,.-$],但它不起作用。 虽然我计划在未来深入研究正则表达式,但我现在需要一点帮助。 谢谢。

null

<form>
  <input name="currency" pattern=[0-9,.-$]>
  <button>Submit</button>
</form>

null


共2个答案

匿名用户

不要使用正则表达式,使用本机type=“number”,不需要正则表达式就可以完成任务

覆盖范围几乎已满>; https://caniuse.com/#feate=input-number

null

<form>
  <input type="number" name="currency">
  <button>Submit</button>
</form>

匿名用户

你有两个问题。

  • -表示一个范围,您已经将其作为0-9的范围使用了。 .-$不是有效范围。 验证器会为您突出显示这一点。 您需要转义-
  • 您只匹配了一个字符。 您需要匹配多个,因此使用类似+的内容来表示一个或多个

null

<form>
  <input name="currency" pattern="[0-9,.\-$]+">
  <button>Submit</button>
</form>

相关问题