2

次のような文字列があります。

var st1 = 'AU$99.95';// 返すべき99.95

var st2 = 'AU.99.95';// 返すべき99.95

var st1 = 'Blahblah $99,000';// 返すべき99,000

私の現在の正規表現は、ほとんどの方法で私をそこに連れて行きstring.replace(/[^0-9.,]/g, "");ます。

これは、番号の前に許可された文字がある場合、#2 を除くすべてのシナリオで機能します。その前に数字がある場合にのみ許可.したい。,どうすればこれを達成できますか?

(これを行うためにJavaScript関数を書くことができることは知っていますが、1つの正規表現置換ですべてを処理したいと思います)

編集:

申し訳ありませんが、小さな見落とし。また、数字の後のテキストを削除する必要があります (数字の前後で違いはないと思いましたが、どうやら違いがあるようです!)。そう:

var st4 = 'blahblah $.99,000AUD// 返す必要があります99,000

4

2 に答える 2

4

多分

string.replace(/^[^0-9]*/, "");
于 2013-07-23T14:44:53.553 に答える