>  기사  >  백엔드 개발  >  PHP에서 가장 일반적으로 사용되는 정규식에 대한 자세한 설명

PHP에서 가장 일반적으로 사용되는 정규식에 대한 자세한 설명

黄舟
黄舟원래의
2017-03-30 17:53:524233검색

이 글에서는 PHP에서 가장 많이 사용되는 정규식을 정리하여 소개하겠습니다. 참고값이 아주 좋은데, 아래 에디터로 살펴보겠습니다

1. 체크번호 표현

숫자: ^[0-9] *$

N자리 숫자: ^d{n}$

n자리 이상 숫자: ^d{n,}$

mn자리 숫자: ^ d{m,n}$

0으로 시작하고 0이 아닌 숫자: ^(0|[1-9][0-9]*)$

non으로 시작하는 숫자 -최대 0 소수점 이하 두 자리의 숫자: ^([1-9][0-9]*)+(.[0-9]{1,2})?$

1이 있는 양수 -소수점 이하 2자리 숫자 또는 음수: ^(-)?d+(.d{1,2})?$

양수, 음수 및 소수: ^(-|+)?d+( .d+)?$

소수점 두 자리가 있는 양의 실수: ^[0-9]+(.[0-9]{2})?$

1이 있는 양의 실수 소수점 이하 3자리: ^ [0-9]+(.[0-9]{1,3})?$

0이 아닌 양의 정수: ^[1-9]d*$ 또는 ^ ([1-9] [0-9]*){1,3}$ 또는 ^+?[1-9][0-9]*$

0이 아닌 음의 정수: ^-[ 1-9][] 0-9″*$ 또는 ^-[1-9]d*$

음수가 아닌 정수: ^d+$ 또는 ^[1-9]d*|0$

양수가 아닌 정수: ^-[1-9]d*|0$ 또는 ^((-d+)|(0+))$

음수가 아닌 부동 소수점 수: ^ d+(.d+)?$ 또는 ^[ 1-9]d*.d*|0.d*[1-9]d*|0?.0+|0$

양수가 아닌 부동 포인트 번호: ^((-d+(.d+) ?)|(0+(.0+)?))$ 또는 ^(-([1-9]d*.d*|0.d*[1- 9]d*))|0?.0+ |0$

양수 부동 소수점 수: ^[1-9]d*.d*|0.d*[1-9]d*$ 또는 ^(([0-9]+.[0 -9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*.[ 0-9]+)|([0-9] *[1-9][0-9]*))$

음수 부동 소수점 수: ^-([1-9]d*. d*|0.d*[1-9]d* )$ 또는 ^(-(([0-9]+.[0-9]*[1-9][0-9]*)|([ 0-9]*[1-9][0-9 ]*.[0-9]+)|([0-9]*[1-9][0-9]*)))$

부동 소수점 수: ^(-?d+)(.d+)?$ 또는 ^-?([1-9]d*.d*|0.d*[1-9]d*|0?. 0+|0)$

2. 체크문자 표현

한자: ^[u4e00-u9fa5]{0,}$

영어 및 숫자: ^[A-Za-z0-9] +$ 또는 ^[A-Za-z0-9]{4,40}$

길이가 3~20인 모든 문자: ^.{ 3,20}$

by 26 영문 대문자 26자로 구성된 문자열: ^[A-Za-z]+$

영문 대문자 26자로 구성된 문자열: ^[A-Z ]+$

26개로 구성된 영문 소문자로 구성된 문자열 : ^[a-z]+$

숫자와 영문 26자로 구성된 문자열 : ^[A-Za-z0- 9]+$

숫자, 영문 26자 또는 밑줄로 구성된 문자열: ^w+$ 또는 ^w{3,20}$

중국어, 영어, 밑줄을 포함한 숫자: ^[ u4E00-u9FA5A-Za-z0- 9_]+$

중국어, 영어, 숫자(밑줄 및 기타 기호 제외): ^[u4E00-u9FA5A-Za-z0-9]+$ 또는 ^[u4E00- u9FA5A-Za-z0-9]{ 2,20}$

^%&',;=?$"를 포함하는 문자를 입력할 수 있습니다: [^%&',;=?$x22]+

~를 포함하는 문자는 입력할 수 없습니다. 문자: [^~x22]+

3. 특수 표현

이메일 주소: ^w+( [-+.]w+)*@w+( [-.]w+)*.w+([-.]w+)*$

도메인 이름: [a-zA-Z0-9][-a -zA-Z0-9]{0,62} (/.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+/.?

인터넷URL: [a-zA-z]+:/ /[^s]* 또는 ^http://([w-]+.)+[w-]+(/[w-./?%&=] *)?$

휴대폰번호 :^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9] |18[0|1|2|3|5|6|7|8|9])d{8}$

전화번호("XXX-XXXXXXX", "XXXX-XXXXXXXX", "XXX -XXXXXXX", "XXX-XXXXXXX", "XXXXXXX" 및 "XXXXXXX): ^($$d{3,4}-)|d{3.4}-)?d{7,8}$

국내전화번호(0511-4405222, 021-87888822) :d{3}-d{8}|d{4}-d{7}

신분증번호(15자리, 18자리): ^d{15}|d{18}$

짧은 ID 번호(숫자, x로 끝나는 문자): ^([0-9]){7,18}(x|X)?$ 또는 ^d{8,18}|[0-9x ]{8,18}|[0-9X]{8,18}?$

계정이 합법적입니까(문자로 시작, 5-16) 바이트 허용, 영숫자 밑줄 허용): ^[a-zA -Z][a-zA-Z0-9_]{4,15}$

비밀번호(문자로 시작, 길이는 6~18, 문자, 숫자, 밑줄만 포함할 수 있음): ^[ a-zA-Z]w{5,17}$

강력한 비밀번호(대소문자와 숫자의 조합을 포함해야 하며 특수 문자는 사용할 수 없음) 사용됨, 길이는 8-10 사이): ^(?= .*d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$

날짜 형식: ^d{4}-d{1,2} -d{1,2}

12개월(01~09 및 1~12): ^(0?[1-9 ]|1[0-2])$

월 31일(01~09 및 1~31): ^((0?[1-9])|((1|2)[ 0-9])|30|31)$

화폐 입력 형식:

  • 4가지 형태의 화폐 표시가 허용됩니다. : "10000.00" 및 "10,000.00", "센트" 없음 "10000" 및 "10,000": ^[1-9][0-9]*$

  • 이는 모든 것을 나타냅니다. 0으로 시작하지 않는 숫자이지만 이것도 문자 "0"이 전달되지 않는다는 의미이므로 다음 형식을 사용합니다. ^(0|[1-9][0-9]*)$

  • 0 또는 0으로 시작하지 않는 숫자. 시작 부분에 음수 기호를 허용할 수도 있습니다: ^(0|-?[1-9][0-9]*) $

  • 이것은 0 또는 음수일 수 있고 0으로 시작하지 않는 숫자를 의미합니다. 사용자가 0부터 시작하도록 합니다. 또한 돈은 음수가 될 수 없으므로 음수 기호를 제거합니다. 다음에 추가해야 할 것은 가능한 소수 부분을 나타내는 것입니다. ^[0-9]+(.[0-9]+)?$

  • 여기에 유의해야 합니다. 소수점 이하 1자리 이상이어야 하므로 "10."은 전달되지 않지만 "10"과 "10.2"는 전달됩니다. ^[0-9]+(.[0-9]{2})? $

  • 이렇게 하면 소수점 이하 두 자리가 있어야 한다고 규정합니다. 너무 가혹하다고 생각되면 다음과 같이 하면 됩니다. ^[0-9]+( .[0-9]{1,2})?$

  • 이렇게 하면 소수점 한 자리만 쓸 수 있습니다. 다음으로 숫자에서 쉼표를 고려해야 합니다. ^[0-9]{1,3}(,[0-9]{3})*(.[0-9]{1,2}) ? $

  • 1~3개의 숫자, 그 뒤에 임의의 수의 쉼표 + 3개의 숫자가 옵니다. 쉼표는 필수가 아닌 선택 사항이 됩니다. ^([0-9]+|[0 -9] {1,3}(,[0-9]{3})*)(.[0-9]{1,2})?$

  • 비고: 최종 결과에서 "+"는 "*"로 대체될 수 있다는 점을 잊지 마세요. 빈 문자열이 허용된다고 생각한다면(이상한 이유는 무엇입니까?) 마지막으로 함수를 사용할 때 백슬래시를 제거하는 것을 잊지 마세요. 일반적인 오류는 여기에 있습니다.

xml 파일: ^([a -zA-Z]+-?)+[a-zA-Z0-9]+\.[x|X][m|M][l|L]$

한자에 대한 정규식: [u4e00-u9fa5]

2바이트 문자: [^x00-xff](한자 포함, 문자열 길이를 계산하는 데 사용할 수 있음(2바이트 문자 하나 길이는 2, ASCII 문자는 2임) 1))

빈 줄에 대한 정규식: ns*r(빈 줄을 삭제하는 데 사용할 수 있음)

HTML 태그에 대한 정규식: <( S*?)[^> ]*>.*?|<.*? /> (인터넷에 떠돌고 있는 버전은 너무 나쁘고 위의 버전은 복잡한 중첩 태그의 경우 부분적으로만 작동할 수 있습니다. )

시작과 끝의 공백 문자에 대한 정규 표현식: ^s*|s*$ 또는 (^s*)|(s*$) (시작과 끝의 공백 문자를 삭제하는 데 사용할 수 있음) 행(공백, 탭, 폼피드 등 포함), 매우 유용한 표현)

Tencent QQ 번호: [1-9][0-9]{4,} (Tencent QQ 번호는 다음에서 시작됩니다. 10000 )

중국 우편번호: [1-9]d{5}(?!d) (중국 우편번호는 6자리)

IP 주소: d+.d+.d+.d+ (IP 주소 추출 시 유용)

위 내용은 PHP에서 가장 많이 사용되는 정규식에 대한 자세한 설명입니다. 더 많은 관련 내용은 PHP 중국어 홈페이지(m.sbmmt.com)를 참고해주세요!

관련 기사:

html 태그, 공백 및 줄 바꿈을 필터링하기 위한 PHP 일반 코드

PHP 정규 대체 변수에서 문자를 지정하는 방법

PHP 정규식 일치, 대체 및 분할 기능의 예에 대한 간략한 분석

PHP 개발 스킬(12) - 일반적으로 사용되는 PHP 정규식의 예제 코드 상세 설명

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