>  기사  >  백엔드 개발  >  History_regular 표현식 중 가장 완벽한 PHP 정규 표현식

History_regular 표현식 중 가장 완벽한 PHP 정규 표현식

韦小宝
韦小宝원래의
2017-12-04 10:55:553997검색

정규식, 개발 시 자주 사용해야 할 javascript, java, .net, php 등과 같은 많은 개발 언어에는 정규식 응용 프로그램이 있습니다. 오늘은 가장 많이 소개해 드리겠습니다. 역사상 포괄적인 PHP 정규식을 살펴보겠습니다(휴대폰 번호는 177-***를 추가해야 함)

먼저 정규식 마인드맵을 살펴보세요:

1. 숫자 확인

1 숫자의 표현:
^[0-9]*$
2 n자리 숫자:
^d{n}$
3 최소 n- 숫자:
^ d{n,}$
4 m-n 숫자:
^d{m,n}$
5 0으로 시작하고 0이 아닌 숫자:
^(0|[1-9 ][0-9 ]*)$
6 0이 아닌 숫자로 시작하고 최대 소수점 이하 두 자리까지의 숫자:
^([1-9][0-9]*)+(.[0-9 ]{1,2})? $
7 소수점 이하 1~2자리의 양수 또는 음수:
^(-)?d+(.d{1,2})?$
8 양수, 음수 , 소수점:
^( -|+)?d+(.d+)?$
9 소수점 이하 두 자리의 양의 실수:
^[0-9]+(.[0-9]{2 })?$
10에는 1 ~소수점 3자리의 양수 실수가 있습니다.
^[0-9]+(.[0-9]{1,3})?$
11 0이 아닌 양의 정수 :
^[1-9]d *$ 또는 ^([1-9][0-9]*){1,3}$ 또는 ^+?[1-9][0-9]*$
12 0이 아닌 음의 정수:
^-[1-9][]0-9"*$ 또는 ^-[1-9]d*$
13 음이 아닌 정수:
^d+$ 또는 ^[1-9]d*|0$
14 양수가 아닌 정수:
^-[1-9]d*|0$ 또는 ^((-d+)|(0+))$
15 음수가 아닌 부동 소수점 수:
d+(.d+ )?$ 또는 ^[1-9]d*.d*|0.d*[1-9]d*|0?.0+|0$
16 양수가 아닌 부동 소수점 수:
^((- d+(.d+)?)|(0+(.0+)?))$ 또는 ^(-([1-9]d*.d *|0.d*[1-9]d*))| 0?.0+|0$
17 양의 부동 소수점 수:
^[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]*))$
18 음수 부동 소수점 수:
^-([ 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]* )))$
19 부동 소수점 수:
^(-?d+) (.d+)?$ 또는 ^-?([1-9]d*.d*|0.d*[1-9] d*|0?.0+|0)$

2. 체크문자 표현

1 한자 :
^[u4e00-u9fa5]{0,}$
2 영어 및 숫자:
^[A-Za-z0-9]+$ 또는 ^[A-Za-z0-9]{4,40}$
3 길이가 3~20인 모든 문자:
^.{ 3,20}$
4 영문 26자로 구성된 문자열 :
^[A-Za-z]+$
5 영문 대문자 26자로 구성된 문자열 :
^[A-Z]+$
6 영문 소문자 26자로 구성된 문자열 :
^[a-z]+$
7 숫자와 영문 26자로 구성된 문자열 :
^[A-Za-z0-9]+$
8 문자열 숫자, 영문 26자 또는 밑줄로 구성 문자열:
^w+$ 또는 ^w{3,20}$
9 중국어, 영어, 밑줄을 포함한 숫자:
^[u4E00-u9FA5A-Za-z0-9_] +$
10 중국어, 영어, 숫자(밑줄 및 기타 기호 제외):
^[u4E00-u9FA5A-Za-z0-9]+$ 또는 ^[u4E00-u9FA5A-Za-z0-9]{2, 20}$
11은 ^%&',;=?$" 및 기타 문자를 포함하여 입력할 수 있습니다.
[^%&',;=?$x22]+
12 ~를 포함하는 문자는 입력할 수 없습니다. :
[^~x22]+

3. 특별한 요구 표현

1. 이메일 주소:
^w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$
2, 도메인 이름:
[ a-zA-Z0-9][-a-zA-Z0-9]{0,62}(/.[a-zA-Z0-9][-a-zA-Z0-9]{0,62 } )+/.?
3, 인터넷URL:
[a-zA-z]+://[^s]* 또는 ^http://([w-]+.)+[w-]+ ( /[w-./?%&=]*)?$
4 , 휴대폰 번호:
^(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}$
5 , 전화번호("XXX- XXXXXXX" , "XXXX-XXXXXXXXX", "XXX-XXXXXXX", "XXX-XXXXXXXXX", "XXXXXXX" 및 "XXXXXXXXX):
^((d{3,4}-)|d{3.4}-)?d {7 ,8}$
6 국내 전화번호(0511-4405222, 021-87888822):
d{3}-d{8}|d{4}-d{7}
7 , ID 번호:
15자리 또는 18자리 신분증:
^d{15}|d{18}$
15자리 신분증:
^[1-9]d{7}((0d)|(1[ 0-2 ]))(([0|1|2]d)|3[0-1])d{3}$
18자리 신분증:
^[1-9]d{5} [1-9 ]d{3}((0d)|(1[0-2]))(([0|1|2]d)|3[0-1])d{4}$
8 . 짧은 ID 카드 번호(숫자, x로 끝나는 문자):
^([0-9]){7,18}(x|X)?$
또는
^d{8,18}|[0- 9x]{8, 18}|[0-9X]{8,18}?$
9. 계정이 합법적입니까(문자로 시작, 5-16바이트 허용, 영숫자 밑줄 허용):
^[a -zA-Z][ a-zA-Z0-9_]{4,15}$
10, 비밀번호(문자로 시작, 길이 6~18, 문자, 숫자, 밑줄만 포함할 수 있음):
^ [a-zA- Z]w{5,17}$
11, 강력한 비밀번호(대소문자와 숫자의 조합을 포함해야 함, 특수 문자 사용 불가, 길이는 8-10):
^ (?=.* d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$
12. 날짜 형식:
^d{4}-d{1 ,2}-d {1,2}
13. 12개월(01~09 및 1~12):
^(0?[1-9]|1[0-2])$
14, 매월 31일(01~09 및 1~31):
^((0?[1-9])|((1|2)[0-9])|30|31) $
15, 돈의 입력 형식:
16 1. 우리가 받아들일 수 있는 돈에는 네 가지 표현이 있습니다: "10000.00"과 "10,000.00", 그리고 "센트" 없이 "10000"과 "10,000":
^[1 -9][0-9]*$
17, 2. 이는 0으로 시작하지 않는 모든 숫자를 의미하지만 문자 "0"이 통과되지 않는다는 의미이기도 하므로 다음을 사용합니다. 형식:
^(0|[1-9][0-9]*)$
18, 3. 0 또는 0으로 시작하지 않는 숫자. 시작 부분에 음수 기호를 허용할 수도 있습니다.
^(0| -?[1-9][0-9]*)$
19, 4. 이는 0 또는 음수일 수 있고 0으로 시작하지 않는 숫자를 의미합니다. 사용자가 다음으로 시작하도록 하세요. 0. 음수 기호 변경 또한 제거하세요. 왜냐하면 돈은 음수가 될 수 없기 때문입니다. 아래에 추가해야 할 것은 가능한 소수 부분입니다:
^[0-9]+(.[0-9]+) ?$
20, 5. 주의할 점은 소수점 이하 1자리 이상이어야 하므로 "10."은 통과되지 않지만 "10"과 "10.2"는 통과됩니다:
^[0 -9]+(.[0- 9]{2})?$
21. 6. 이런 식으로 소수점 이하 두 자리를 반드시 명시한다고 규정하고 있는데, 너무 가혹하다고 생각하시면 됩니다. 이렇게 할 수 있습니다:
^[0-9]+(.[0-9] {1,2})?$
22, 7. 이를 통해 사용자는 소수점 이하 자릿수 하나만 쓸 수 있습니다. 숫자에 쉼표를 넣을 수 있습니다:
^[0-9]{1,3 }(,[0-9]{3})*(.[0-9]{1,2})?$
23, 8.1~3개의 숫자, 그 뒤에 쉼표 + 3개의 숫자가 오면 쉼표는 선택 사항이 되며 필수는 아닙니다.
^([0-9]+|[0-9]{1,3}(,[0 -9]{3})*)(.[0-9]{1 ,2})?$
24 참고: 이것이 최종 결과입니다. "+"는 "*로 대체될 수 있습니다. " 빈 문자열이 허용된다고 생각한다면(이상한 이유는 무엇입니까?) 마지막으로 함수를 사용할 때 백슬래시를 제거하는 대신 일반적인 실수가 여기에 있다는 것을 잊지 마세요
25, xml 파일:
^([a -zA-Z]+-?)+[a-zA-Z0-9 ]+\.[x| ^x00-xff]
(한자를 포함하여 문자열의 길이(길이)를 계산하는 데 사용할 수 있습니다. 2바이트 문자의 길이는 2로 계산되고 ASCII 문자의 길이는 1로 계산됩니다.))28. 빈 줄에 대한 정규 표현식: ns*r(빈 줄을 삭제하는 데 사용할 수 있음)

29 , HTML 마크업의 정규 표현식:
<(S*?)[^>]*>.*?|<.* ? /> 위의 방법은 부분적으로만 효과적이며 복잡한 중첩 태그에는 여전히 무력합니다.)

30. 선행 및 후행 공백 문자에 대한 정규식: ^s*|s*$ 또는 ( ^s*)|(s* $) (줄의 시작과 끝(공백, 탭, 폼 피드 등 포함)에 있는 공백 문자를 삭제하는 데 사용할 수 있습니다. 매우 유용한 표현입니다.)31, Tencent QQ 번호: [1-9][0 -9]{4,} (텐센트 QQ 번호는 10000부터 시작)
32, 중국 우편번호: [1-9]d{5}(?!d) (중국 우편번호는 6자리)

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

위는 편집자가 소개한 역사상 가장 완벽한 PHP 정규식입니다(휴대폰 번호는 177-*** 추가 필요). 모든 분들께 도움이 되길 바랍니다.

관련 추천:

PHP 정규식 모음

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

이메일 주소를 확인하기 위한 PHP 정규식 사례 연구

위 내용은 History_regular 표현식 중 가장 완벽한 PHP 정규 표현식의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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