좋아, 그래서 우리는 4 가지 주요 분류 중 3 가지를 요구하는 암호 정책에 대한 암호 검사기를 쓰고 있습니다. 문제가있는 곳은 특수 문자 일치입니다.모든 특수 문자에 대한 Preg_match, 암호 확인
는 여기에 내가 지금까지이 작업은 다음과 같습니다
private function PasswordRequirements($ComplexityCount) {
$Count = 0;
if(preg_match("/\d/", $this->PostedData['password']) > 0) {
$Count++;
}
if(preg_match("/[A-Z]/", $this->PostedData['password']) > 0) {
$Count++;
}
if(preg_match("/[a-z]/", $this->PostedData['password']) > 0) {
$Count++;
}
// This is where I need help
if(preg_match("/[~`[email protected]#$%^&*()_-+=\[\]{}\|\\:;\"\'<,>.]/", $this->PostedData['password']) > 0) {
$Count++;
}
if($Count >= $ComplexityCount) {
return true;
} else {
return false;
}
}
그래서 기본적으로 제가 각각의 경우, 숫자, 대문자, 소문자, 특수 문자의 캐릭터를 검사하고 있어요. 특수 문자에 대한 제한이 없으며 유니 코드 문자도 필요합니다. 이 경우 \ W가 작동합니까 아니면 다시 숫자가 포함됩니까? \ W에 대한 훌륭한 문서를 찾을 수 없어이 부분에 대해 명확하지 않습니다.
누구나 쉽게 숫자와 문자를 포함하지 않는 모든 특수 문자와 유니 코드 문자를 처리 할 수있는 정규식을 알고 있습니까?
누구나이 것을 사용하는 사람이 많아서 생각합니다.
여기 몇 가지 추측을 설명하는 멋진 페이지가 있습니다. http://www.regular-expressions.info/reference.html – Marcus