Как разрешить буквенно-цифровые и некоторые специальные символы в angularjs с помощью регулярных выражений - PullRequest
0 голосов
/ 16 ноября 2018

Этот вопрос может быть простым, но выглядит сложным при попытке использовать для этого шаблон регулярного выражения.

У меня есть текстовая область, и я пытаюсь разрешить буквенно-цифровые символы и только 5 определенных специальных символов, таких как . , ' " :

Другие специальные символы должны быть отключены при наборе.

Я пытался использовать ng-pattern из angularjs, но когда я начинаю печатать специальные символы, отличные от разрешенных, он не отключается.

<textarea rows="5" cols="50" ng-pattern="/^[a-zA-Z0-9.,:'"]*$/">

Основная проблема заключается в том, что я пытаюсь разрешить ' " оба этих специальных символа, сталкиваясь с проблемой синтаксиса в ng-pattern.

Я ожидаю простого решенияиспользуя только регулярные выражения в ng-pattern.

Я где-то скучаю, кто-то может помочь в этом?

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>

<textarea rows="5" cols="50" ng-pattern="/^[a-zA-Z0-9.,:'"]*$/">
  
</textarea>

1 Ответ

0 голосов
/ 16 ноября 2018

Вам необходимо html-кодирование символа двойной кавычки внутри шаблона, например:

ng-pattern="/^[a-zA-Z0-9.,:&apos;&quot;]*$/"

В настоящее время шаблон заканчивается, когда он достигает первой двойной кавычки.

В целях безопасности такжеHTML закодировать одинарные кавычки.

Редактировать , я допустил ошибку, теперь она должна работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...