> 백엔드 개발 > PHP 튜토리얼 > PHP 정규 표현식 작동: 사용자 이름 일치

PHP 정규 표현식 작동: 사용자 이름 일치

王林
풀어 주다: 2023-06-23 09:14:01
원래의
1429명이 탐색했습니다.

웹 개발에서는 데이터에 대한 형식 제한이나 형식 확인을 수행해야 하는 경우가 많습니다. PHP 정규식은 이러한 작업을 위한 강력한 도구 중 하나입니다. 이번 글에서는 실제 전투를 통해 설명하고 PHP 정규식을 사용하여 사용자 이름을 일치시키는 방법을 알려드리겠습니다.

1. 사용자 이름 요구 사항

먼저 일치에 어떤 종류의 정규 표현식을 사용해야 하는지 알 수 있도록 사용자 이름 요구 사항을 명확히 해야 합니다. 일반적으로 사용자 이름 요구 사항은 다음과 같습니다.

  • 문자, 숫자 또는 밑줄로 구성됩니다.
  • 길이는 6~20자입니다.
  • 는 숫자로 시작하지 않습니다.
  • 은 특수 문자를 사용할 수 없습니다.

이러한 요구 사항을 바탕으로 정규식 작성을 시작할 수 있습니다.

2. 정규식 작성

먼저 각 요구 사항에 사용해야 하는 정규식을 분석해 보겠습니다.

  • 문자, 숫자 또는 밑줄로 구성됩니다.

이 요구 사항은 충족하기 쉽습니다. 문자 세트 [0-9a-zA-Z_]를 사용하면 됩니다.

  • 길이는 6~20자입니다.

이 요구 사항에는 수량자를 사용해야 합니다. 즉, {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 정규식을 사용하여 실제 전투를 통해 사용자 이름을 일치시키는 방법을 설명했습니다. 초보자에게 도움이 되길 바랍니다.


  1. 특수 문자 세트

위 내용은 PHP 정규 표현식 작동: 사용자 이름 일치의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿