Не удается проверить поле пароля с помощью reg exp, используя angular.js

0

Мне нужно проверить мое поле пароля с некоторым специальным символом. Это поле должно содержать по крайней мере одно число, верхний регистр, строчную букву и подчеркивание, и это mandotary. Я использую ng-pattern и ng-message но не смог этого сделать. я объясняю свой код ниже.

<span class="input-group-addon ndrftextwidth text-right" style="width:180px">Password :</span>
<div ng-class="{ 'has-error': billdata.pass.$touched && billdata.pass.$invalid }">
<input type="{{inputType}}" name="pass" id="contactno" class="form-control" placeholder="password" ng-model="password" ng-minlength="8" ng-pattern="/[a-zA-Z][0-9][a-zA-Z0-9]{3}/." >
</div>
</div>
<div class="help-block" ng-messages="billdata.pass.$error" ng-if="billdata.pass.$touched">
<p ng-message="minlength" style="color:#F00;">This field is too short.The min length of your password should be 8.</p>
<p ng-message="pattern" style="color:#F00;">This field needs the special character like number,upper case,lower case letter,underscore.</p>
</div> 

Здесь я не получаю сообщение об ошибке. Пожалуйста, помогите мне.

  • 0
    Убери последнее . из регулярных выражений
  • 0
    @Tushar это займет подчеркивание?
Показать ещё 2 комментария
Теги:
validation

1 ответ

3
Лучший ответ

Поле должно содержать по крайней мере одно число, верхний регистр, строчную букву и символ подчеркивания, и они являются мандотарией.

Вам нужно использовать регулярное выражение lookahead.

ng-pattern="/^(?=.*[A-Z])(?=.*\d)(?=.*[a-z]).*_.*/"

Ещё вопросы

Сообщество Overcoder
Наверх
Меню