웹 개발에서는 데이터에 대한 형식 제한이나 형식 확인을 수행해야 하는 경우가 많습니다. PHP 정규식은 이러한 작업을 위한 강력한 도구 중 하나입니다. 이번 글에서는 실제 전투를 통해 설명하고 PHP 정규식을 사용하여 사용자 이름을 일치시키는 방법을 알려드리겠습니다.
1. 사용자 이름 요구 사항
먼저 일치에 어떤 종류의 정규 표현식을 사용해야 하는지 알 수 있도록 사용자 이름 요구 사항을 명확히 해야 합니다. 일반적으로 사용자 이름 요구 사항은 다음과 같습니다.
이러한 요구 사항을 바탕으로 정규식 작성을 시작할 수 있습니다.
2. 정규식 작성
먼저 각 요구 사항에 사용해야 하는 정규식을 분석해 보겠습니다.
이 요구 사항은 충족하기 쉽습니다. 문자 세트 [0-9a-zA-Z_]를 사용하면 됩니다.
이 요구 사항에는 수량자를 사용해야 합니다. 즉, {6,20}은 6~20자 일치를 의미합니다. 문자 세트에 문자 세트를 추가하고 마지막으로 [0-9a-zA-Z_]{6,20}를 얻어야 합니다.
이 요구 사항은 너비가 0인 어설션을 사용해야 합니다. 즉, 문자 집합 앞에 (?=D)를 추가하면 일치 항목이 숫자가 아닌 문자로 시작해야 함을 의미합니다. 마지막으로 우리는 (?=D)[0-9a-zA-Z_]{6,20}를 얻습니다.
이 요구 사항은 특수 문자를 제외해야 하며 제외된 문자 집합 1을 사용할 수 있습니다. 제외해야 하는 문자 집합이 많기 때문에 유니코드 인코딩 범위를 사용하여 제외해야 하는 문자 집합을 나타낼 수 있습니다. [u4e00-u9fa5uFE30-uFFA0u3000-u303F]|[s~!@#$%^&*()_+={}[]|;:'",.<>/?·!¥……()—《》【】、;‘:“,。、?]。最终得到:(?=D)[0-9a-zA-Z_]{6,20}(?![u4e00-u9fa5uFE30-uFFA0u3000-u303F]|[s
~!@#$%^ &*()_+= {}[]|;:'",.<>/?·!엔......()—""[],;':",. ,? ]).
3. 정규식을 사용하여 일치시키세요
이제 정규식을 작성했으므로 PHP의 preg_match 함수를 사용하여 일치시킬 수 있습니다. 다음은 샘플 코드입니다.
function matchUsername($username) { $pattern = '/^(?=D)[0-9a-zA-Z_]{6,20}(?![u4e00-u9fa5uFE30-uFFA0u3000-u303F]|[s`~!@#$%^&*()_+={}[]|\;:'",.<>/?·!¥……()—《》【】、;‘:“,。、?])$/'; if(preg_match($pattern, $username)) { return true; } return false; } $username1 = 'abcde'; $username2 = 'abcd@e'; $username3 = '1abcde'; $username4 = '123456789abcdefghi'; $username5 = '张三'; $username6 = 'abcdef张三'; var_dump(matchUsername($username1)); // true var_dump(matchUsername($username2)); // false var_dump(matchUsername($username3)); // false var_dump(matchUsername($username4)); // false var_dump(matchUsername($username5)); // false var_dump(matchUsername($username6)); // false
코드에서는 일치를 위한 matchUsername 함수를 정의하고 테스트 케이스를 사용하여 각각을 확인합니다. 코드를 실행한 후 $username1을 제외하고 나머지 테스트 사례가 일치하지 않는 것을 확인할 수 있습니다.
지금까지 PHP 정규식을 사용하여 실제 전투를 통해 사용자 이름을 일치시키는 방법을 설명했습니다. 초보자에게 도움이 되길 바랍니다.
위 내용은 PHP 정규 표현식 작동: 사용자 이름 일치의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!