angularのng-pattern属性に入れる正規表現を探しています。
特定の小数パターンのみを満たす式を探しています。
exactly one digit --> than a decimal --> exactly 2 digits
私が思いついた
\d{1}\.{1}\d{2}?
上記のパターンは、次の番号に正しく一致します。
2.22
3.12
0.34
これは問題ありませんが、ユーザーが入力した場合、12.12
必要に応じてこれを拒否しません。
angularのng-pattern属性に入れる正規表現を探しています。
特定の小数パターンのみを満たす式を探しています。
exactly one digit --> than a decimal --> exactly 2 digits
私が思いついた
\d{1}\.{1}\d{2}?
上記のパターンは、次の番号に正しく一致します。
2.22
3.12
0.34
これは問題ありませんが、ユーザーが入力した場合、12.12
必要に応じてこれを拒否しません。
このコンテンツのみが必要な場合は、単語の開始( ) アンカー^
と単語の終了 ( $
) アンカーを使用する必要があります。あなたの正規表現は次のようになります。
var regex = /^\d\.\d{2}$/; //then just bind to controller
ドキュメントによるとng-pattern
式が RegExp オブジェクトに評価される場合、これが直接使用されます。
^
式が文字列に評価される場合、文字でラップした後、正規表現に変換され$
ます。たとえば、"abc"
に変換されnew RegExp('^abc$')
ます。
文字列入力を使用する場合は、バックスラッシュをエスケープして適切な正規表現文字列を取得する必要があることに注意してください。この場合、あなたはただ使うことができます
<input ng-model="yourModel" ng-pattern="\\d\\.\\d{2}" >