2017-01-08 15 views
0

更新: 問題は私がこれをテストした方法である可能性がありますか? 私はブラウザで(Developer Toolsを介して)変更を加え、ng-patternを変更し、検証が進むことを期待してこれをテストしました。 (ブラウザの)コードの変更が行われていない、つまり再評価が行われていない可能性がありますか? Angularjs正規表現の大文字小文字を区別しない修飾子が機能しない

は私が http://www.regular-expressions.info/email.html

\A[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\z 

私のコードでは、以下のメールアドレスパターンを使用しようとしています:

<input type="email" name="email" ng-model="email" ng-pattern="/^[a-z0-9!#$%&amp;'*+\/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&amp;'*+\/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/" id="email-1" value="" required="" class="ng-pristine ng-untouched ng-empty ng-valid-email ng-invalid ng-invalid-required ng-valid-pattern"> 

これは大文字と小文字が区別されます。私は 'i'モディファイアを使ってみました。

"/^[a-z0-9!#$%&amp;'*+\/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&amp;'*+\/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i" 

ただし、それでも大文字の文字は使用できません(無効なメールエラーメッセージが表示されます)。

私はhttps://github.com/angular/angular.js/issues/1437に出くわしました。しかし、私はそれ以降のバージョン(1.2)を使用しています。

私もA-Zを試しました。

"/^[A-Za-z0-9!#$%&amp;'*+\/=?^_`{|}~-]+(?:\.[A-Za-z0-9!#$%&amp;'*+\/=?^_`{|}~-]+)*@(?:[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?\.)+[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$/" 

このパターンは大文字と小文字を区別しません。

ありがとうございました。

+0

私はあなたの正規表現のパターンで問題がないと思う。 [パターンをテストしてうまくいくようです](https://regex101.com/r/8tSW7k/1)。 – Casper

+0

ありがとう@キャスパー!私は少なくとも「/^[A-Za-z0-9 ...]はうまくいくはずだと思った。私はさらに情報を追加しました( 'Update'を見てください)。 – sam

答えて

0

疑いがあるように、問題は私がテストした方法であることが判明しました。 "/ i"が機能しました。 ブラウザでコードを編集して(「/ i」を追加して)テストしたところ、「/ i」は機能しませんでした。しかし、コードを変更したときに働いていました(対応するhtml/javascriptファイル)。 私は、ブラウザでのそのような変更がなぜ取り上げられなかったのか疑問に思います。

関連する問題