Regex, не обнаруживать пробелы в строке
Это моя текущая проверка регулярных выражений:
const validPassword = (password) => password.match(/^(?=.*\d)(?=.\S)(?=.*[a-zA-Z]).{6,}$/);
У меня есть чек не менее чем на 1 букву и 1 цифру и не менее 6 символов. Однако я также хочу убедиться, что в строке нет пробелов.
Пока что я могу ввести 6 строк символов, включая пробелы:(
Нашел этот ответ здесь, но по какой-то причине в моем коде это проходит.
Какое регулярное выражение для сопоставления не содержит пробелов между текстом?
1 ответ
Решение
Кажется тебе нужно
/^(?=.*\d)(?=.*[a-zA-Z])\S{6,}$/
подробности
^
- начало строки(?=.*\d)
- 1 цифра (минимум)(?=.*[a-zA-Z])
- не менее 1 буквы\S{6,}
- 6 или более непробельных символов$
- конец строки привязки
Имея в виду принцип контраста, вы можете изменить шаблон в
/^(?=\D*\d)(?=[^a-zA-Z]*[a-zA-Z])\S{6,}$/