gpt4 book ai didi

JavaScript 正则表达式 : match all minuses that are not at start or end of string for currency input

转载 作者:行者123 更新时间:2023-11-28 05:13:17 26 4
gpt4 key购买 nike

对于货币输入,我想替换所有不在字符串开头的减号输入,或者当它是最后一个字符时,前面没有逗号。

在输入事件中,我已经为其他一些无效输入调用了一个简单的正则表达式替换:

        input.replace(/[^0-9\.\,\-]/g, '')
.replace('.', ',');

如果我可以扩展这个正则表达式来删除无效的缺点,那就太好了。

所需行为的一些示例:

  • 50-50 -> 5050
  • 50,00- -> 50,00
  • -5-0,- -> -50,-

编辑:结尾或开头的双减号也应该被删除。

  • --50,00-> -50,00
  • 50,-- -> 50,-

我想我可以从正向前瞻 -(?=.) 开始,但这仍然匹配第一个字符。

此外,我发现this post这几乎是相反的(开始和结束时不允许有减号),但仍然会匹配整个字符串。不是单独的缺点。

如有任何帮助,我们将不胜感激。

最佳答案

使用以下具有特定正则表达式模式的方法:

var replaceHyphen = function (str) {
return str.replace(/(\d)-|(-)-/g, '$1$2');
};

console.log(replaceHyphen('50-50'));
console.log(replaceHyphen('50,00-'));
console.log(replaceHyphen('-5-0,-'));
console.log(replaceHyphen('--50,00'));
console.log(replaceHyphen('50,--'));

关于JavaScript 正则表达式 : match all minuses that are not at start or end of string for currency input,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41198137/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com