2015-10-08 2 views
0

Я пытаюсь установить ввод как недействительный, если он содержит какие-либо emoji (aka emoticons) с директивой.Установить недопустимый ввод, когда он имеет emojis

Я использую следующий код: http://codepen.io/fuxes/pen/JYJNKW use , чтобы начать играть.

Если я пытаюсь использовать такое имя, как , он отлично работает, он обнаруживает, что у него есть эмозис. Но странно то, что если я начну добавлять какие-либо письма, он начнет ломаться!

я сделаю следующее:
asd -> Emojis где обнаружены
asdds -> Emojis где не обнаружен
asdd -> Emojis где обнаружены
asdds -> Emojis где обнаружены

Обратите внимание, что 2 и 4 равны. Я не понимаю, почему это происходит. Есть предположения?

ответ

1

если вы меняете:

!hasEmojis.test(value) 

к:

!value.match(hasEmojis) 

Я думаю, что-то не так с вашим регулярным выражением или, как вы используете его, попробуйте сначала сократить его до 1 или 2 символов и выясните это, а затем посмотрите, работает ли тестовый метод, или используйте предложенную модификацию.

+0

Это работает! Не могли бы вы объяснить, почему это изменение необходимо? – fuxes

+0

Не знаете, что там ломается. Но по какой-то причине ваш тест (значение) терпит неудачу. .match (...) возвращает согласованные части и по какой-то причине работает. – Meir