전적으로 PHP가 처음입니다. 암호를 검증하는 정규식을 작성하는 데 도움이 필요합니다. 비밀번호는 길이가 8 자 이상이어야하며 문자로 시작하고 숫자로 끝나야하며 대소 문자를 구분하지 않아야합니다. 첫 번째와 마지막 사이의 문자는 숫자, 밑줄 또는 기호가 될 수 있습니다.패스워드 검증을위한 PHP 정규식
도움을 주시면 감사하겠습니다.
전적으로 PHP가 처음입니다. 암호를 검증하는 정규식을 작성하는 데 도움이 필요합니다. 비밀번호는 길이가 8 자 이상이어야하며 문자로 시작하고 숫자로 끝나야하며 대소 문자를 구분하지 않아야합니다. 첫 번째와 마지막 사이의 문자는 숫자, 밑줄 또는 기호가 될 수 있습니다.패스워드 검증을위한 PHP 정규식
도움을 주시면 감사하겠습니다.
manual에서 preg_match()
PHP 함수를 살펴보십시오.
빠른 예 :
<?php
// Check if the string is at least 8 chars long
if (strlen($password) < 8)
{
// Password is too short
}
// Make the password "case insensitive"
$password = strtolower($password);
// Create the validation regex
$regex = '/^[a-z][\[email protected]#$%]+\d$/i';
// Validate the password
if (preg_match($regex, $password))
{
// Password is valid
}
else
{
// ... not valid
}
Regex Explanation:
^ => begin of string
[a-z] => first character must be a letter
[\[email protected]#$%]+ => chars in between can be digit, underscore, or symbol
\d => must end with a digit
$ => end of string
/i => case insesitive
strtolower() 비트를 사용하지 마십시오. 그러면 암호가 만들어집니다. 훨씬 덜 안전합니다. – Spudley
@ Spudley 사실, user2573918이 요청했기 때문에 그냥 포함 시켰습니다. 그러나 그것이 보안 문제라는 것은 사실입니다. –
/^[A-Za-z][0-9[:punct:]]{6,}[0-9]$/
를 작동해야이 말한다 :
이
은 [이] (http://stackoverflow.com/q/11873990/2493918) 질문에서보세요. –
어느 기호가 가운데 문자로 사용할 수 있습니까? – Legion
왜 문자를 첫 번째 문자로 사용합니까? 그리고 문자, 숫자, 밑줄 및 기호에 사용할 수있는 문자 집합을 제한합니까? UTF-8 문자를 사용할 수 없습니까? –