Angular 以外のプロジェクトで使用したいくつかの正規表現を使用して ng-pattern をテストし始めたところですが、正常に動作しました。しかし、ng-pattern を使用すると、機能しないようです。たとえば、少なくとも 1 つのアルファベットと 1 つの数字を含む 6 ~ 20 文字の文字列を正常にチェックする次の正規表現があります。
"^.*(?=.{6,20})(?=.*\d)(?=.*[a-zA-Z]).*$"
ただし、以下の Angular の例では、文字列が 20 文字を超えるとトリガーされないことを除いて、すべてが正常にチェックされます。
<div class="controls">
<input type="text" ng-model="user.Password" id="Password" name="Password" title="Password" required ng-pattern="^/.*(?=.{6,20})(?=.*\d)(?=.*[a-zA-Z]).*$/" />
<span ng-show="form.Password.$dirty && form.Password.$error.required">{{'_PasswordRequired_' | i18n}}</span>
<span ng-show="form.Password.$dirty && form.Password.$error.pattern">{{'_PasswordLengthAndAlphanumeric_' | i18n}}</span>
</div>
構文に何かエラーがありますか、それともこれが機能しない他の理由がありますか?