0

数字のみと通貨形式 ($xxx.xx) の RegEX を探しています。

現在、数字と文字にこのコードを使用していますが、問題なく動作します。

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|$, ''); }
4

2 に答える 2

1

2 番目の正規表現をスラッシュで囲んでいません。つまり、次のようになります。

function validateForOnlyNums(txt)
{ txt.value = txt.value.replace(/?<=\s|^)-?[0-9]+(?:\.[0-9]+)?(?=\s|$/, ''); }
于 2012-08-09T13:20:17.013 に答える
0

試す:

function validateForOnlyNums(txt)
{
    txt.value = txt.value.replace(/[^$0-9\.]/g, '');
}

x が空の文字列の数字である $xxx.xx とは異なり、何かを置き換える必要があります。これの唯一の欠点は、$12..3.5$7 のような入力も受け入れることです。

于 2012-08-09T13:29:19.453 に答える