問題タブ [ng-pattern]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 範囲内の数値のみの ng-pattern の正規表現を動的に作成する
Angularに検証させようとしているnumber型の入力フォームフィールドがあります(これは今のところ優れているようです)が、正規表現を動的に作成して、ng-patternを制限するユーザーは、json 呼び出しの後にコントローラーに渡される最小値と最大値の範囲の数値に変更されます。
これは迅速で役に立ちました:
数値のみの ng-pattern は、angular.js で「-」などの文字を受け入れます
したがって、最初にこれを ng-pattern に設定すると機能しますが、最小および最大範囲外の数値を許可します。
ただし、その場で正規表現を作成して範囲にする必要があるため、あまり成功しませんでした。
もちろん、私は正規表現の専門家ではありません。
どんな助けでも大歓迎です。
前もって感謝します!
regex - 繰り返し文字をチェックするための電子メールの正規表現
正規表現でメールアドレスを検証しています。次の条件でテストしたいと思います。
名前は最低 3 文字、記号 @、ドメインの最初の部分は最低 3 文字、ドット、繰り返し文字は 3 文字以内
この正規表現を試してみましたが、最後のものを除くすべてのケースでうまく機能しています。
ドット(。)の後の繰り返し文字(任意の文字)をチェックしていません
よくない: test@test. ccccom、 test@test.coooom
OK : test@test.com
RE の最後の部分の何が問題なのかわかりません。
任意の入力をいただければ幸いです。
javascript - AngularJS ng-pattern が電話番号の正規表現でエラーをスローする
テキスト フィールドで ng-pattern を使用して、カナダの電話番号を検証しています。
しかし、AngularJS は次のエラーをスローします。
構文エラー: トークン '?' [^(?([0-9]{3}))?[-. ]?([0-9]{3})[-. ]?([0-9]{4})$] [?([0-9]{3}))?[-. ]?([0-9]{3})[-. ]?([0-9]{4})$].
私はそれをテストし、 Rubularのようないくつかの異なるオンライン正規表現エディターで試してみましたが、完全に有効であるようです。フィールドを動的に作成しているので、ng-pattern は ngRepeat 内のディレクティブでこのように設定されています。
ハードコードされた正規表現に変更すると、エラーは発生しません。
しかし、それを途方もなく単純なものに変更しました。
これは機能するため、フィールドを動的に作成して正規表現だけに関連付けることはできません。
regex - ng-model 解析/フォーマットで ng-pattern を使用する
私は、ng-pattern と ng-model の両方の解析を一緒に使用することで、角度のある入力に本当に夢中になろうとしています。私が ng-pattern に入れた正規表現は regex101.com でうまく動作し、それをアプリに記録してもうまくいきます。ただし、ng-patternで使用すると、入力が無効であるとは言えませんが、そうではありません。ng-pattern が ngModel.$parsers/ngModel.$formatters が自分のことをしているときとの関係で、いつそのことをするのか疑問に思っています。ここにいくつかのコードがあります:
ngModel 解析ディレクティブは次のとおりです。
これが私のコントローラーの正規表現です:
そして、ここに私の見解の関連部分があります:
時間entry
は秒単位であるため、フォーマッタは 0:00:000 形式で入力します。それから、ng-pattern が作動して「はい」と答えてくれることを望みました! 有効!しかし、解析前に時間プロパティがまだ 0.000 形式のときに実行されているかどうか疑問に思っています。
angularjs - AngularJs ディレクティブの式 ID と ng-pattern が機能しない
ng-pattern でフォーム入力ディレクティブを使用する。ディレクティブの ID が文字列の場合は機能しますが (つまり、エラーが表示されます)、ID が式の場合は失敗します (つまり、エラーは表示されません)。擬似コード:
作品
機能しません (myVar = "foo")
Chrome Inspected HTML (動作する/動作しない場合とまったく同じ)
これは、すべてが配線されたときに式 ID が定義されていないためであると仮定しますが、修正方法がわかりません。前もって感謝します!