Вот регулярное выражение я кладезь с веб-сайта компании MicrosoftРегулярное выражение для паролей со специальными символами
(?!^[0-9]*$)(?!^[a-zA-Z]*$)^([a-zA-Z0-9]{8,10})$
и Validates a strong password. It must be between 8 and 10 characters, contain at least one digit and one alphabetic character, and must not contain special characters.
Но теперь мы решили разрешить пользователю с помощью специальных символов в их паролей, так как изменить это регулярное выражение? Я не совсем понимаю, зачем поставить ?!
спереди.
Какие специальные символы вы хотите разрешить? – robert
@robert теперь нам нужен только пароль, содержащий хотя бы одну цифру и одну букву, поэтому я думаю, что все специальные символы. – pita
Каждый раз, когда я вижу кого-то, кто устанавливает верхний предел допустимой длины пароля, мое первое предположение заключается в том, что они неправильно управляют паролями, поскольку хэшированные пароли фиксированной длины, независимо от того, сколько времени пароль. Вы храните пароли в виде обычного текста? Если это так, это первая проблема, которая нуждается в исправлении, но если нет, то почему вы запрещаете людям использовать [правильную батарею штанов для лошадей] (http://xkcd.com/936/)? –