Регулярное выражение для недопущения пробелов в поле ввода

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

var regexp = /^\S/;

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

Ответ 1

Пока вы указали start anchor и первую букву, вы ничего не сделали для остальной части строки. Кажется, вам нужно повторение этого класса до тех пор, пока конец строки:

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

Ответ 2

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

var regexp = /^\S+$/

Ответ 3

Это поможет найти пробелы в начале, середине и конце:

var regexp =/\s/g

Ответ 4

Это будет соответствовать только поле ввода или строке, если нет пробелов. Если есть пробелы, он не будет совпадать вообще.

/^([[email protected]#$%^&*().,<>{}[\]<>?_=+\-|;:\'\"\/])*[^\s]\1*$/

Совпадает с начала строки до конца. Принимает буквенно-цифровые символы, цифры и большинство специальных символов.

Если вам нужны только буквенно-цифровые символы, измените то, что в [], следующим образом:

/^([A-z])*[^\s]\1*$/