【问题标题】:Regex to allow numbers containing dash正则表达式允许包含破折号的数字
【发布时间】:2020-04-24 15:54:35
【问题描述】:

我正在使用以下处理程序只允许数字作为输入。

$(document).on("input", "[data-rule-number=true]", function () {
    this.value = this.value.replace(/\D/g, '');
});

我想修改它以包含破折号。 “200-300”(最多一个破折号,所以不是“200-300-400”),但我无法将我的头包裹在所需的正则表达式上。也许我一开始就不应该使用替换,但我喜欢这个解决方案,因为它基于“输入”事件并且适用于所有设备。

因此,有效输入应该是数字(例如“200”)或数字短划线数字(例如“200-300”)。

【问题讨论】:

    标签: jquery regex


    【解决方案1】:

    这个正则表达式应该允许在输入字符串中使用破折号:

    value.replace(/^([^-]+-)|-+/g, '$1').replace(/[^\d-]+/g, '')
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多