2016-06-25 20 views
0

JavaScript正規表現を使用して数字を( "、"、 "。")に置き換えて通貨をフォーマットしています。しかし、この文字列の検証には問題があります。この特殊文字( "、"、 "。")をこの "...、..."のような数字なしで入力することができます。 「」数字なしの特殊文字の入力を許可しない

currency.replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1,") 

誰もが、ユーザが入力することができます許可しないために、このために検証する方法についてのアイデアを持つことができ、:ここに は私の正規表現です「」数字なし? おかげ

+1

は有効と無効試合のためのいくつかの例を投稿してください。 –

+0

有効な文字列 "10,000.00-1000"と無効な文字列 "... --- ..." – Hitesh

+0

最も簡単なのは 'if(!str.match(/ \ d /)){alert( '無効な入力' );} ' - 少なくとも1桁必要です。もちろん、それは文字列が有効な数字であることを意味するわけではありませんが、あなたが提案した入力を排除します。 – sideroxylon

答えて

0

このヘルプあなたは:

var patt = /^\d{1,},\d{3,}\.?\d{0,}$/; 

例:

<html> 
 
<head></head> 
 
    <body> 
 
     <script> 
 
      var patt = /^\d{1,},\d{3,}\.?\d{0,}$/; 
 
      var str = "1,000"; 
 
      if(patt.test(str)) 
 
       alert("Valid"); 
 
      else 
 
       alert("Invalid"); 
 
       
 
     </script> 
 
    </body> 
 
</html>

+0

@Hiteshあなたは1,000.00、....、.....を私のコードで試すことができます。 – Ehsan

+0

ありがとう、どのように私はこの文字列 "00.00"または "0.0"または "0000.00"、または "00-00"または "00.0-0.00"の検証をチェックできますか? – Hitesh

関連する問題