Нежелательный результат использования ng-pattern (Angular.JS), с символами юникода

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

Я выяснил, что такое юникодные числа на иврите.

Это мой шаблон:

$scope.onlyHebrewPattern = /[\u05D0-\u05F3]+/g;

И моя форма ввода:

<input tabindex=1 type="text" ng-disabled="disableButtons" name="firstname" ng-minlength="2" ng-maxlength="15" ng-model="register.firstName" placeholder="first name" ng-pattern="onlyHebrewPattern" required title="please enter your name">

Теперь для большинства входных данных этот шаблон будет работать и не будет заполнять $scope.firstname неправильными результатами, такими как: "abcd".

Но есть такие входные данные, как: "שדas", которые по какой-то причине принимаются шаблоном.

Я считаю, что проблема заключается в определении шаблона. Что-то должно быть не так, но я уверен, что u05D0-u05F3 действительно тот диапазон, который мне нужен в моем паттерне. Так в чем моя проблема здесь?

1 ответ

Попробуй это:

$scope.onlyHebrewPattern = /^[\u05D0-\u05F3]+$/g;

Ваш соответствует любой строке с еврейским символом.

Другие вопросы по тегам