2016-05-23 2 views
-1

Мне нужно проверить, что пользователь только текстовый, и я хочу использовать регулярное выражение. Что-то вроде: если (/^[A-Za-Z] + $/тест (пользователь).) {показать недопустимое сообщение}Javascript RegExp с использованием .test()

это частное решение не будет работать, я ценю помощь, им довольно новое в JS.

+1

Почему вы показываете недопустимое сообщение имени пользователя для действительного пользователя ? – 1983

+0

Моя идея - показать недопустимое сообщение, если человек, пытающийся получить доступ, помещает специальные символы или пробелы в текстовое поле. Неужели это плохая идея? – Gonzalo

ответ

0

Используйте перевернутых булево (!) перед регулярным выражением,

if(!/^[a-z]+$/i.test(user)){ error } 

т.е.

$("input").keyup(function(){ 
 
    if(!/^[a-z]+$/i.test(this.value)) 
 
    { 
 
    alert("Only [A-Za-z] characters are allowed"); 
 
    this.value= this.value.replace(/[^a-z]/i,""); 
 
    } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="text">

+0

Чувак, спасибо вам большое, я потратил часы на поиски решения для этого. Спасибо. – Gonzalo

+0

Вам очень приятно @Gonzalo;) Если бы мой ответ помог вам, пожалуйста, дайте ему 1+ и отметьте его как правильно, щелкнув по ✓ рядом с ▲ ▼, спасибо! –

+0

Было бы проще просто сказать 'if (/ [^ a-z] /i.test (value))'. –

Смежные вопросы