Я работаю над php+javascript базирующийся проект и уже составил страницу макета в: мой веб-сайт
Я знал, как использовать JavaScript или php, чтобы проверить, "пусто" ли конкретное поле формы или нет, то есть, содержит ли это алфавитно-цифровые символы кроме пробельных символов (например, пространство, вкладка и новая строка).
Однако мой нормальный подход больше не работает, так как плагин jQuery, который я использую теперь, полагается на regex для проверки полей.
Если Вы переходите к третьей вкладке (3. Заполните информацию о поставке и Осуществите Платеж), можно ввести что-то в поле Firstname, и это делает проверку автоматически. Прекрасный. Однако, если Вы просто помещаете некоторые пробелы там и переход к следующему полю, ну, в общем, это все еще чувствует хорошо, для который, который не корректен, так как ничье имя - ничто!
Проблема? Сзади это имеет regex как это:
"noSpecialCaracters":{
"regex":"/^[0-9a-zA-Z ]+$/",
"alertText":"* No special caracters allowed"},
Это не отфильтровало бы пустые символы.
Я искал онлайн и старался изо всех сил составлять другой regex для соответствия, я попробовал
"regex":"/^[^]+$/"
для соответствия непустым символам, но это не сделает...
Кто-либо может выручить меня? Большое спасибо заранее!
Попробовать это для непробельных символов:
([^\s]*)
Пример:
/([^\s])/.test(" A"); //TRUE
/([^\s])/.test(" "); //FALSE
Чтобы ответить на ваш вопрос, минимальный regex - /\S/
, который будет соответствовать, пока есть хотя бы один не пробельный символ.
Однако вы, вероятно, не хотите, чтобы кто-то ввел имя '12345' или '!!!', поэтому лучше использовать /[a-z]/i
, поскольку этот регекс будет соответствовать только при наличии хотя бы одного алфавитного символа.
/^\s*[0-9a-zA-Z][0-9a-zA-Z ]*$/
который гарантирует, что хотя бы один символ не является пробелом и относится к одному из разрешенных символов.
Вы также можете рассмотреть другие символы, такие как дефис(-) или апостроф('), которые также могут встречаться в именах...
/^\s*[0-9a-zA-Z][0-9a-zA-Z '-]*$/
Вы можете попробовать обернуть свое выражение следующим образом ^ \ s * (выражение) \ s * $
. Затем используйте группы, чтобы найти «обрезанные» совпадения. Это устраняет только конечные или ведущие пробелы.
Вы можете заставить пользователя ввести обрезанный текст или изящно принять необрезанный ввод (лучше), поскольку я обнаружил, что копирование и вставка текста часто оставляет некоторые конечные или ведущие пробелы, о которых пользователь может не знать.