問題タブ [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.

0 投票する
1 に答える
37 参照

javascript - サービスから変数として ng-patten を取得する

こんにちは、ページ全体で多くのフォーム検証が必要なアプリを実行しているため、コントローラー間で使用しているサービスから検証パターンを取得しようとしています。

ここでの問題は、正しいメール アドレスを入力しても ng-pattern が正しく反応しないことです。

これはプランカーで、フォームのコードは次のとおりです。

これは app.js コードです

angularが入力タグ内のパターンをレンダリングするときに、バックスラッシュをエスケープしてレンダリングすることが問題であると思います

サービスに二重のバックスラッシュを追加して角度を正しくレンダリングしようとしましたが、まだ機能していません。何か案は?

0 投票する
2 に答える
2300 参照

angularjs - ng-pattern で文字列を検証する

AngularJS JavaScript でテキスト ボックスを検証する ng-pattern 式が必要です。このテキストボックスの内容には、少なくとも 1 つの英字が必要ですが、数字や特殊文字をいくつでも含めることができます。

例:

  1. a1234$許容されます (「a」が存在するため)
  2. 123%受け入れられない
  3. abc許容範囲です
  4. 56456a許容範囲です
  5. 123$%^abc許容範囲です
0 投票する
2 に答える
40 参照

angularjs - 正規表現、AngularJS 検証

このパターンを使用して、ユーザーが小数点以下 5 桁までの数字のみを使用するように制限していますが、ユーザーが小数点として ' , ' を入力した場合にのみ有効になりますが、ユーザーが ' . ' また、コード:

0 投票する
1 に答える
159 参照

javascript - 実数の ng-pattern 正規表現

これは私自身の好奇心の問題です。私は実用的な解決策を持っていますが、なぜ一方の解決策が機能し、もう一方の解決策が機能しないのかについて誰かが洞察を持っているかどうか知りたいです。

ユーザーが有効な数字を入力したことを検証する正規表現が必要でした。いくつかの例:

87

887.65

-87

-87.65

私の最初の試みは次のようになりました:

「7x」、「1a」、「89p」などの文字列が受け入れられることを除いて、うまく機能しました。私の新しいソリューションは以下のとおりで、問題なく動作するようです。

2 番目のもの (「+」に注意) はもう少し簡潔ですが、最初のものは文字を受け入れ、2 番目のものは受け入れない理由がわかりません。誰かが私が見逃しているものを見ていますか?

0 投票する
1 に答える
314 参照

angularjs - ng-pattern で ^ と $ のデフォルトのラッピングをバイパスする

API から正規表現を取得していますが、多くの場合、^ で始まり $ で終わります (たとえば^-?[0-9]+$)。Lexer Errorangularは文字列にデフォルトで ^ と $ を追加するため、正規表現を文字列として ng-pattern に配置するだけで、になります。

Angular APIリファレンスから

  • 式が RegExp オブジェクトに評価される場合、これが直接使用されます。
  • 式が文字列に評価される場合、^ および $ 文字でラップした後、正規表現に変換されます。たとえば、「abc」は新しい RegExp('^abc$') に変換されます。

それでは、正規表現文字列を正規表現オブジェクトに変換してみましょう。だから私はこれを試しました:

しかし、別のエラーが発生します:

正規表現を ng-pattern で動作させるにはどうすればよいですか? できれば正規表現から ^ と $ を削除せずに。