Регулярное выражение с как минимум 1 буквой и 1 цифрой - PullRequest
4 голосов
/ 12 июня 2009

Я думаю, что это просто, но я слишком туп, чтобы написать. Может ли кто-нибудь предоставить мне регулярное выражение, которое проверяет заданную строку как минимум на 1 букву и хотя бы на 1 цифру?

Также, пожалуйста, дайте некоторое объяснение.

Ответы [ 5 ]

6 голосов
/ 12 июня 2009

RE не так хороши для очень сложных вещей, таких как множественные заказы, но этот простой должен быть представлен с помощью:

[A-Za-z].*[0-9]|[0-9].*[A-Za-z]
2 голосов
/ 12 июня 2009

Лучше всего было бы отдельно проверить это, используя 2 регулярных выражения: /[a-z]/i и /\d/.

Иначе, если вы хотите применить правило безопасности для пароля, разделите его (например, в PHP с str_split) и посчитайте количество совпадений каждого типа символов, что даст вам Оценка надежности пароля и позволит вам адаптировать свои правила.

Производительность не является проблемой, если это для смены пароля, вы не делаете это на 20 тысячах ...

1 голос
/ 19 октября 2012

Я не думаю, что это имеет большое значение, но я сделал это таким образом.

([A-Za-z])+([0-9])+|([0-9])+([A-Za-z])+
1 голос
/ 12 июня 2009

Кто-то уже ответил, но вы также можете найти это полезным ...

Визуальный конструктор регулярных выражений, написанный на .NET. Это довольно круто, вы можете увидеть в режиме реального времени, что вы получите. Проверьте это здесь .

:)

1 голос
/ 12 июня 2009

Это было бы намного проще с двумя проверками, одна для строки, одна для числа.

Хотя может сработать что-то вроде следующего, поскольку если у вас есть и цифра, и буква, то по определению вы должны иметь цифру рядом с буквой (или наоборот):

([A-Za-z][0-9]|[0-9][A-Za-z])

Обновление: удалено ложное '|'. Обратите внимание, что выше предполагается, что никакие другие символы недопустимы, что, я полагаю, может быть неприемлемым. См. Другой ответ для лучшего решения, если разрешена пунктуация.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...