2013-05-02 3 views
10

У меня есть поле имени пользователя в моей форме. Я хочу не допускать пробелов в любой строке. Я использовал это регулярное выражение:Регулярное выражение для недопущения пробелов во входном поле

var regexp = /^\S/; 

Это работает для меня, если между символами есть пробелы. То есть, если имя пользователя ABC DEF. Он не работает, если в начале находится пробел, например. <space><space>ABC. Каким должно быть регулярное выражение?

+4

Пожалуйста, покажите больше кода и описать то, что вы * хотите *. Кроме того, вы уверены, что используете PHP? «var ...» больше похож на Javascript. –

+0

@WillemMulder Я также использую javascript – Techy

ответ

30

Пока вы указали start anchor и первую букву, вы ничего не сделали для остальной части строки. Вы, кажется, хотите repetition этого character class пока end of the string:

var regexp = /^\S*$/; // a string consisting only of non-whitespaces 
9

Использование + плюс знак (матч один или более из предыдущих пунктов),

var regexp = /^\S+$/ 
+0

Вы не говорите, почему, и это не имеет значения: цель состоит в том, чтобы обнаружить наличие пробелов, нам все равно, сколько из них есть. – Jon

+0

@Rikesh все еще белые пробелы не обнаруживаются, когда мы начинаем вводить с пространством – Techy

+0

@AnazA - Вы можете проверить на http://regexpal.com/, его рабочий штраф. Кажется, что что-то не так с кодовой стороны. Если вы можете поделиться другим своим кодом. – Rikesh

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