AngularJS ng-шаблон с текстовым полем или внутри него

Мне нужно ограничить поле ввода, чтобы принять число или определенный шаблон строки

<input type="text" ng-model="value" name="value" ng-pattern="/^([0-9])|([R])$/" required>

Кажется, это не работает полностью, я могу добавить 555f, и это будет допустимое значение для моей модели ng.

Как я могу ограничить это соответствием цифре или моему строковому шаблону?

http://jsfiddle.net/DaleS/dv7vuecz/


person Dale    schedule 11.12.2014    source источник


Ответы (2)


У вас есть проблема с вашим reg exp в ng-pattern, это: /^([0-9])|([R])$/ будет обрабатывать любую строку, начинающуюся с цифры или заканчивающуюся на «R». И для того, что вы хотите, вам нужно что-то вроде этого:

/^[0-9]+$|^[R]+$/

Он будет соответствовать любой строке, которая является числом или начинается и заканчивается на «R».

person Rasalom    schedule 11.12.2014

^([0-9]|[R])$

Попробуйте это. См. демо.

https://regex101.com/r/eZ0yP4/10

person vks    schedule 11.12.2014