2015-05-26 5 views
2

У меня есть требование наличия следующих условий в текстовом поле однострочного:Пользовательские проверки для текстового поля

  1. Первый символ должен быть прописной буквы.
  2. Следующие два символа должны быть буквенно-цифровыми, но любая буква должна быть в верхнем регистре.

Учитывая следующий код, как я могу проверить такие условия?

+0

Если у Вас есть новый вопрос, пожалуйста, сделайте новый; не редактируйте это, это аннулирует существующий ответ. – Blackhole

ответ

2

Вы можете принудительно установить правильный шаблон с помощью атрибута ngPattern.

Вы не можете автоматически конвертировать строчную букву, набранную вашего пользователем к верхнему регистру с ngChange, так как модель undefined если вход является недопустимым, но вы можете использовать $parsers вместо этого.

<input 
    type="text" 
    ng-model="name" 
    ng-pattern="'[A-Z][A-Z0-9]{2}'" 
/> 

Если вы используете версию between 1.3.0-beta.12 and 1.3.2, используйте шаблон ^[A-Z][A-Z0-9]{2}$ вместо этого.

Если вы используете версию 1.3.0-beta.11 or lower, используйте вместо этого шаблон /^[A-Z][A-Z0-9]{2}$/.

+0

ng-pattern должен быть несколько похож на этот 'ng-pattern ="/^ [A-Z] [A-Z0-9] {2} $/"' –

+1

@pankajparkar Я добавил объяснения. – Blackhole

0

вы можете использовать нг-шаблон, чтобы установить регулярное выражение и

<input type="text" ng-model="name" 
ng-pattern="'^[A-Z][A-Z\d]{2}'" 
ng-change="name = name.toUppercase()" /> 

здесь вы можете проверить или создать регулярные выражения https://regex101.com/

+0

Как это отличается от моего ответа? – Blackhole

+0

Я думаю, что мы на одной странице .. я не видел ваш ответ postd sorry buddy –

Смежные вопросы