2017-01-04 3 views
-1

私はRegExの経験が豊富です。 JavaScriptで検証したいテキストボックスがあります。RegExは私が必要とするものに近い。

^(\ dの{0,5}。\ dは{0,4})?$

何も後に来ない場合、これは、小数点の前に6桁の数字を許可する以外これは、私が必要なものにかなり近いです小数点小数点の前に5桁、後に4桁が最大値になります。その下にあるものは許可されたい。

例:123456は有効ではありません。 123456.1は有効ではありません。 JS関数の

パート:

if (document.getElementById("txtPrice").value !== "") { 
    var RegEx = /^(\d{0,5}.\d{0,4})?$/; 

    if (RegEx.test(document.getElementById("txtPrice").value) == false) { 
    alert("Contract Price is entered as an invalid format."); 

    return false; 
    } 
} 
+1

:あなたは非キャプチャグループ内の最後の部分を囲む小数点の使用を強制したくない場合は

^(\d{0,5}\.\d{0,4})$ 

.マッチ任意の文字単一の時間、\.はドット文字に一致しますあなたはjavascriptが持っていないルックバックが必要になります。おそらく文字列を分割する方が簡単です。 –

+1

あなたのコードで '\(バックスラッシュ)'で '.'をエスケープする必要があります。それ以外の場合は*任意の*文字として扱われますので、' 123456'が有効です – pwolaq

答えて

4

使用\.

^(\d{0,5}(?:\.\d{0,4})?)$ 
+0

ありがとう。正確に私が必要なもの。 – madmike

関連する問題