我正在寻找仅限数字的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|$)
当我在代码中使用它时它似乎不起作用:
function validateForOnlyNums(txt)
{ txt.value = txt.value.replace(?<=\s|^)-?[0-9]+(?:\.[0-9]+)?(?=\s|$, ''); }
答案 0 :(得分:1)
你没有用正斜杠包围你的第二个正则表达式,即:
function validateForOnlyNums(txt)
{ txt.value = txt.value.replace(/?<=\s|^)-?[0-9]+(?:\.[0-9]+)?(?=\s|$/, ''); }
答案 1 :(得分:0)
尝试:
function validateForOnlyNums(txt)
{
txt.value = txt.value.replace(/[^$0-9\.]/g, '');
}
它应该替换任何不像$ xxx.xx的东西,其中x是一个带空字符串的数字。这个的唯一缺点是它也会接受像$ 12..3.5 $ 7这样的输入。