ng-pattern разрешает только буквы, цифры, точки, подчеркивания и тире
Как бы разрешить для ввода, используя ng-pattern
только: letters
, numbers
, dot
, underscore
а также dash
( . _ -)
?
Уже пробовал следующие
ОБНОВИТЬ:
$scope.validationPattern = '/^[a-zA-Z\d\-\_]+$/';
<input ng-model="model" type="text" ng-pattern="{{validationPattern}}" />
3 ответа
Решение
Судя по вашим требованиям, вам нужно добавить точку в шаблон:
$scope.regex = '^[a-zA-Z0-9._-]+$';
и добавить ng-trim="false"
к <input>
тег, чтобы запретить начальные / конечные пробелы.
Смотри этот планкр
/^[a-zA-Z0-9 ._-]+$/
Это регулярное выражение кажется вам подходящим, если оно не помещается непосредственно в ng-шаблон, сделайте необходимые корректировки, например.
в контроллер добавить
$scope.pattern = /^[a-zA-Z0-9 ._-]+$/;
сейчас в использовании html ng-pattern="pattern"
Протестировано с использованием этого: http://www.regextester.com/
Принимает цифры, алфавиты и три символа (.-_)