正则表达式以允许包含破折号的数字

问题描述 投票:0回答:1

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

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

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

因此,有效输入应该是数字(例如“ 200”)或数字破折号(例如“ 200-300”)。

jquery regex
1个回答
0
投票

在RegEx下使用,以允许在输入字符串中使用破折号。

value.replace(/^([^-]+-)|-+/g, '$1').replace(/[^\d-]+/g, '')
© www.soinside.com 2019 - 2024. All rights reserved.