【问题标题】:Create Regex to only allow numbers and 2 digits after decimal创建正则表达式以仅允许小数点后的数字和 2 位数字
【发布时间】:2021-01-08 17:35:43
【问题描述】:

我有一个表格,我想将clear button 添加到我的inputs type="number"

所以认为 id 沿着使用regex 的路线走,因为我不想在input 的末尾创建一个button,因为我的其他inputs 都没有,有这个.

下面的代码我只允许“数字”和一位小数,但我需要限制小数点后的位数,这是我失败的地方。

<input type="text" oninput="this.value = this.value.replace(/[^0-9.]/g, '').replace(/(\..*?)\..*/g, '$1');" />

我知道我需要使用{0,2},但我尝试了以下方法,但它们仍然允许小数点后 3 位以上的数字

/[^0-9.{0,2}]/g
/[^0-9.]{0,2}/g

input 中没有输入所有其他字符,我想保留它,但我不希望使用 keyCodes 的代码块。

我不擅长 regex 并且难以理解他们。

我也试过了:

<input type="search" oninput="this.value = this.value.replace(^\d+\.\d{1,2}$, '').replace(/(\..*?)\..*/g, '$1');" />

但这给出了

【问题讨论】:

    标签: html regex


    【解决方案1】:

    您可以在按钮上添加.replace(/(\.\d{2}).+/g, '$1');

    输入小数点和两位数后,它会替换所有内容:

    &lt;input type="text" oninput="this.value = this.value.replace(/[^0-9.]/g, '').replace(/(\..*?)\..*/g, '$1').replace(/(\.\d{2}).+/g, '$1');" /&gt;

    【讨论】:

      猜你喜欢
      • 2022-07-22
      • 2021-10-08
      • 2021-07-26
      • 2018-09-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-21
      • 2017-08-22
      相关资源
      最近更新 更多