>  기사  >  백엔드 개발  >  특수 문자를 확인하는 PHP 정규식 방법

특수 문자를 확인하는 PHP 정규식 방법

王林
王林원래의
2023-06-24 12:05:172327검색

인터넷의 급속한 발전으로 인해 점점 더 많은 웹사이트가 생겨났습니다. 이러한 웹사이트를 개발하는 과정에서 정규 표현식의 사용이 점점 더 늘어나고 있습니다. 예를 들어, 사용자가 등록 페이지에 사용자 이름, 비밀번호 및 기타 민감한 정보를 입력할 때 입력된 데이터의 보안을 보장하기 위해 개발자는 일반적으로 정규식을 사용하여 데이터의 적법성을 보장합니다. 이 기사에서는 개발자가 사용자 데이터의 보안을 더 잘 보호할 수 있도록 PHP 정규식을 사용하여 특수 문자를 확인하는 방법에 중점을 둘 것입니다.

  1. 정규 표현식이란 무엇인가요?

정규 표현식은 텍스트 문자열을 일치시키는 데 사용되는 표현식입니다. 텍스트와 특수 문자로 구성되며 문자열이 특정 패턴과 일치하는지 확인하는 데 사용할 수 있습니다. 널리 사용되는 서버측 언어인 PHP는 정규식을 사용하여 강력한 문자열 처리 기능을 제공할 수 있습니다. PHP의 정규식은 일반적으로 두 개의 슬래시로 묶입니다(예: "/pattern/").

  1. PHP에서 특수 문자의 정규식 확인을 위한 코드

다음은 입력 문자열에 특수 문자가 포함되어 있는지 확인하기 위한 PHP의 코드입니다.

function check_special_chars($str) {
    if(preg_match('/[^a-zA-Z0-9_]/', $str)) {
        return false;
    }
    return true;
}

위 코드에서는 preg_match() 함수가 사용됩니다. 문자열이 지정된 정규식과 일치하는지 확인합니다. 정규식 "/1/"은 함수가 일치해야 하는 문자 집합을 지정합니다. 여기서 "^"는 없음을 의미하며 이는 a~z, A~Z, 0~9 및 밑줄과 일치하지 않음을 의미합니다. (_) 를 제외한 모든 문자. 입력 문자열에 이러한 문자가 포함되어 있으면 함수는 false를 반환하고, 그렇지 않으면 true를 반환합니다.

  1. PHP의 정규식 확인 함수

preg_match() 함수 외에도 PHP는 다음 표에 표시된 대로 몇 가지 다른 정규식 확인 함수도 제공합니다.

함수 설명
preg_match() 정규식 일치 수행
preg_replace() 정규식 검색 및 바꾸기 수행
preg_split() 정규식으로 문자열 분할 배열
preg_quote()
preg_grep() 정규 표현식과 일치하는 배열의 요소를 반환합니다.
preg_last_error() 정규 실행으로 반환된 마지막 PCRE 오류 코드 반환

각 함수에는 고유한 사용 방법과 매개변수가 있습니다. 자세한 내용은 공식 PHP 문서나 관련 서적을 참조하세요.

  1. 정규식을 사용하여 사용자 이름, 비밀번호 및 기타 필드의 유효성을 검사하세요.

다음은 정규식을 사용하여 사용자 이름, 비밀번호 및 기타 중요한 정보의 유효성을 검사하는 방법을 보여주는 몇 가지 예입니다.

사용자 이름 확인

확인된 사용자 이름은 일반적으로 문자, 숫자, 밑줄만 포함하는 등 일부 규칙을 준수해야 하며 길이는 6~16자 사이여야 합니다. 다음은 사용자 이름을 확인하기 위한 정규식입니다.

'/^[a-zA-Z0-9_]{6,16}$/'

이 정규식은 ^를 사용하여 첫 번째 문자 일치를 나타내고, $를 사용하여 문자열의 끝을 나타내며, {6,16}을 사용하여 문자 길이가 6자 사이여야 함을 나타냅니다. 그리고 16.

인증 비밀번호

인증 비밀번호도 숫자 1개, 대문자 1개, 소문자 1개 이상 포함 등 일부 규칙을 준수해야 하며 길이는 8~20자 사이여야 합니다. 다음은 비밀번호 확인을 위한 정규식입니다.

'/^(?=.*d)(?=.*[a-z])(?=.*[A-Z]).{8,20}$/'

이 정규식은 ^를 사용하여 첫 번째 문자 일치를 나타내고, $를 사용하여 문자열의 끝을 나타내고, (?=.d)에 최소한 하나의 숫자가 포함되어 있음을 나타냅니다. , (?=.[a-z ])는 하나 이상의 소문자를 포함한다는 의미이고, (?=.*[A-Z])는 하나 이상의 대문자를 포함한다는 의미이며, .{8,20}은 문자 길이를 의미합니다. 8에서 20 사이여야 합니다.

이메일 주소 확인

이메일 주소 확인도 개발자가 자주 구현해야 하는 기능입니다. 다음은 이메일 주소 확인을 위한 정규식입니다.

'/^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(.[a-zA-Z0-9_-]+)+$/'

이 정규식은 ^를 사용하여 첫 번째 문자 일치를 나타내고, $를 사용하여 문자열의 끝을 나타내고, @를 사용하여 "@" 기호를 나타내고, [a-zA- Z0-9_-] 이메일 이름에는 문자, 숫자, 밑줄 및 반각 빼기 기호가 포함될 수 있습니다(.[a-zA-Z0-9_-]+)+는 이메일 도메인 이름에 여러 하위-가 포함될 수 있음을 의미합니다. 도메인 이름은 반각 점(.)으로 구분됩니다. 마지막 하위 도메인 이름은 2~4자의 문자 또는 숫자여야 합니다.

요약

이 글의 소개를 통해 우리는 특수 문자의 PHP 정규식 검증 방법에 대해 배웠고, 몇 가지 일반적인 정규식 검증 기술을 배웠습니다. 개발자로서 우리는 사용자 데이터의 보안을 보장해야 합니다. 정규식을 사용하여 입력 데이터의 유효성을 확인하는 것은 매우 중요한 단계입니다. 이 글이 모든 사람에게 도움이 되기를 바라며, 인터넷을 더욱 안전하게 만들기 위해 함께 노력합시다.


  1. a-zA-Z0-9_

위 내용은 특수 문자를 확인하는 PHP 정규식 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.