Javascript RegEX仅适用于数字,也适用于货币的掩码格式

Javascript RegEX仅适用于数字,也适用于货币的掩码格式,javascript,jquery,regex,Javascript,Jquery,Regex,我正在寻找正则表达式的数字,也为货币格式($xxx.xx) 我目前使用这套数字和字母代码,效果很好: function validateForOnlyLettersAndNums(txt) { txt.value = txt.value.replace(/[^a-zA-Z 0-9\n\r]+/g, ''); } 然而,当我在网上寻找我在这里要问的问题时,我只发现这样的东西: (?<=\s|^)-?[0-9]+(?:\.[0-9]+)?(?=\s|$) (?您没有用斜杠包围第二个正则表

我正在寻找正则表达式的数字,也为货币格式($xxx.xx)

我目前使用这套数字和字母代码,效果很好:

function validateForOnlyLettersAndNums(txt) 
{ txt.value = txt.value.replace(/[^a-zA-Z 0-9\n\r]+/g, ''); }
然而,当我在网上寻找我在这里要问的问题时,我只发现这样的东西:

(?<=\s|^)-?[0-9]+(?:\.[0-9]+)?(?=\s|$)

(?您没有用斜杠包围第二个正则表达式,即:

function validateForOnlyNums(txt)
{ txt.value = txt.value.replace(/?<=\s|^)-?[0-9]+(?:\.[0-9]+)?(?=\s|$/, ''); }
函数validateForOnlyNums(txt)
{txt.value=txt.value.replace(/?尝试:


它应该替换任何与$xxx.xx不同的东西,其中x是一个带有空字符串的数字。它唯一的缺点是它也会接受$12..3.5$7之类的输入。

第二个正则表达式似乎过于复杂。
有什么问题吗?.replace(/[^0-9\n\r]+/g'))
?@MattBall:你的代码成功了!谢谢!你有一个能掩盖价格的吗?($xxx.xx)?你似乎在尝试做两件不同的事情。为什么是“验证”呢函数删除字符?我需要两个单独的函数。一个只用于数字,另一个只用于货币格式。我刚才展示了一个关于唯一数字部分的示例。当使用您发布的代码时,我收到错误SyntaxError:无效的量词,它指向/?的开头。此外,它缺少一个<代码>(
之前的
?这似乎不起作用。我可以在框中输入字符。如果没有美分,有没有办法取出$and.00?是的,但这将涉及一个更复杂的正则表达式,可能使用lookaheads。有类似的网站可以测试它们。
function validateForOnlyNums(txt)
{ txt.value = txt.value.replace(/?<=\s|^)-?[0-9]+(?:\.[0-9]+)?(?=\s|$/, ''); }
function validateForOnlyNums(txt)
{
    txt.value = txt.value.replace(/[^$0-9\.]/g, '');
}