다음은 양식 유효성 검사 중에 더 자주 사용될 수 있기 때문에 제가 수집한 가장 일반적으로 사용되는 정규 표현식 중 일부입니다. 모든 친구들이 함께 사용할 수 있도록 특별히 발행되었습니다. 헤헤.
한자와 일치하는 정규식: [u4e00-u9fa5]
코멘트: 중국어 매칭이 정말 골치 아픈 표현입니다.
2바이트 문자(한자 포함) 일치: [^x00-xff]
설명: 문자열 길이를 계산하는 데 사용할 수 있습니다(2바이트 문자 길이는 2로 계산되고 ASCII 문자 길이는 1로 계산됩니다).
빈 줄과 일치하는 정규식: ns*r
설명: 빈 줄을 삭제하는 데 사용할 수 있습니다.
HTML 태그와 일치하는 정규식: < (S*?)[^>]*>.*?|< .*? />
코멘트: 인터넷에 떠돌고 있는 버전은 너무 형편없기 때문에 위의 버전은 일부만 일치할 수 있으며 복잡한 중첩 태그에는 아직 무력합니다.
선행 및 후행 공백 문자와 일치하는 정규식: ^s*|s*$
설명: 줄의 시작과 끝 부분에 있는 공백 문자(공백, 탭, 폼 피드 등 포함)를 삭제하는 데 사용할 수 있습니다. 매우 유용한 표현입니다.
이메일 주소와 일치하는 정규식: w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*
설명: 양식 유효성 검사에 매우 유용합니다.
URL과 일치하는 정규 표현식: [a-zA-z]+://[^s]*
설명: 인터넷에 유통되는 버전은 기능이 매우 제한되어 있습니다. 위의 버전은 기본적으로 요구 사항을 충족할 수 있습니다.
일치하는 계정이 합법적입니까(문자로 시작, 5-16바이트 허용, 영숫자 밑줄 허용): ^[a-zA-Z][a-zA-Z0-9_]{4,15}$
설명: 양식 유효성 검사에 매우 유용합니다.
국내 전화번호 일치: d{3}-d{8}|d{4}-d{7}
설명: 0511-4405222 또는 021-87888822와 같은 일치 형식
Tencent QQ 번호 일치: [1-9][0-9]{4,}
댓글: Tencent QQ 계정은 10000부터 시작됩니다.
중국 우편번호 일치: [1-9]d{5}(?!d)
설명: 중국 우편번호는 6자리 숫자입니다.
일치하는 신분증: d{15}|d{18}
설명: 중국 신분증의 숫자는 15자리 또는 18자리입니다.
IP 주소 일치: d+.d+.d+.d+
설명: IP 주소를 추출할 때 유용합니다.
특정 숫자 일치:
^[1-9]d*$ //양의 정수 일치
^-[1-9]d*$ //음수 일치
^-?[1-9]d*$ //정수 일치
^[1-9]d*|0$ //음수가 아닌 정수 일치(양의 정수 + 0)
^-[1-9]d*|0$ //양수가 아닌 정수 일치(음의 정수 + 0)
^[1-9]d*.d*|0.d*[1-9]d*$ //양수 부동 소수점 숫자 일치
^-([1-9]d*.d*|0.d*[1-9]d*)$ //음수 부동 소수점 숫자와 일치
^-?([1-9]d*.d*|0.d*[1-9]d*|0?.0+|0)$ //부동 소수점 숫자 일치
^[1-9]d*.d*|0.d*[1-9]d*|0?.0+|0$ //음수가 아닌 부동 소수점 숫자와 일치합니다(양의 부동 소수점 숫자 + 0)
^(-([1-9]d*.d*|0.d*[1-9]d*))|0?.0+|0$ //양수가 아닌 부동 소수점 숫자와 일치합니다(음의 부동 소수점 숫자 + 0 )
코멘트: 대용량 데이터를 처리할 때 유용하므로 적용 시 수정사항에 주의하시기 바랍니다.
특정 문자열과 일치:
^[A-Za-z]+$ //영문 26자로 구성된 문자열 일치
^[AZ]+$ //영문 대문자 26자로 구성된 문자열 일치
^[az]+$ //영문 소문자 26개로 구성된 문자열 일치
^[A-Za-z0-9]+$ //숫자, 영문 26자로 구성된 문자열 매칭
^w+$ //숫자, 영문 26자, 밑줄로 구성된 문자열 일치
RegularExpressionValidator 검증 컨트롤을 사용할 때 검증 함수와 해당 검증 표현식은 다음과 같이 소개됩니다.
숫자만 입력할 수 있습니다: "^[0-9]*$"
n자리 숫자만 입력할 수 있습니다: "^d{n}$"
n자리 이상만 입력할 수 있습니다: "^d{n,}$"
백만자리 숫자만 입력할 수 있습니다: "^d{m,n}$"
0으로 시작하거나 0이 아닌 숫자만 입력할 수 있습니다: "^(0|[1-9][0-9]*)$"
소수점 이하 두 자리의 양의 실수만 입력할 수 있습니다: "^[0-9]+(.[0-9]{2})?$"
소수점 이하 1~3자리의 양수 실수만 입력할 수 있습니다: "^[0-9]+(.[0-9]{1,3})?$"
0이 아닌 양의 정수만 입력할 수 있습니다: "^+?[1-9][0-9]*$"
0이 아닌 음의 정수만 입력할 수 있습니다: "^-[1-9][0-9]*$"
길이가 3인 문자만 입력할 수 있습니다: "^.{3}$"
영문 26자로 구성된 문자열만 입력 가능: "^[A-Za-z]+$"
영문 대문자 26자로 구성된 문자열만 입력 가능: "^[AZ]+$"
영문 소문자 26자로 구성된 문자열("^[az]+$")만 입력할 수 있습니다.
숫자와 영문 26자로 구성된 문자열만 입력 가능: "^[A-Za-z0-9]+$"
숫자, 영문 26자, 밑줄로 구성된 문자열만 입력할 수 있습니다: "^w+$"
사용자 비밀번호 확인: "^[a-zA-Z]w{5,17}$" 올바른 형식은 다음과 같습니다. 문자로 시작하고 길이는 6-18입니다.
문자, 숫자, 밑줄만 포함할 수 있습니다.
^%&',;=?$": "[^%&',;=?$x22]+"와 같은 문자가 포함되어 있는지 확인하세요.
한자만 입력할 수 있습니다: "^[u4e00-u9fa5],{0,}$"
이메일 주소 확인: "^w+[-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$"
인터넷 URL 확인: "^http://([w-]+.)+[w-]+(/[w-./?%&=]*)?$"
인증 전화번호: "^((d{3,4})|d{3,4}-)?d{7,8}$"
올바른 형식은 "XXXX-XXXXXXX", "XXXX-XXXXXXX", "XXX-XXXXXXX",
"XXX-XXXXXXXX", "XXXXXXX", "XXXXXXXXX".
ID 번호 확인(15 또는 18자리): "^d{15}|d{}18$"
1년의 12개월을 확인하십시오: "^(0?[1-9]|1[0-2])$" 올바른 형식은 "01"-"09" 및 "1" "12"입니다.
한 달의 31일을 확인합니다: "^((0?[1-9])|((1|2)[0-9])|30|31)$"
올바른 형식은 "01" "09" 및 "1" "31"입니다.
한자와 일치하는 정규식: [u4e00-u9fa5]
2바이트 문자(한자 포함) 일치: [^x00-xff]
빈 줄과 일치하는 정규식: n[s|
HTML 태그와 일치하는 정규식: /< (.*)>.*|< (.*) />/
선행 및 후행 공백과 일치하는 정규식: (^s*)|(s*$)
이메일 주소와 일치하는 정규식: w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*
URL과 일치하는 정규식: http://([w-]+.)+[w-]+(/[w- ./?%&=]*)?
(1) 응용: 문자열의 길이를 계산합니다. (2바이트 문자의 길이는 2로 계산되고, ASCII 문자의 길이는 1로 계산됩니다.)
String.prototype.len=function(){return this.replace([^x00-xff]/g,”aa”).length;}
(2) 적용: JavaScript에는 vbscript와 같은 트림 기능이 없으므로 이 표현식을 사용하여 다음을 달성할 수 있습니다.
String.prototype.trim = 함수()
{
return this.replace(/(^s*)|(s*$)/g, “”);
}
(3)응용: 정규식을 사용하여 IP 주소를 분해하고 변환합니다.
function IP2V(ip) //IP 주소를 해당 값으로 변환
{
re=/(d+).(d+).(d+).(d+)/g //IP 주소와 일치하는 정규식
if(재.테스트(ip))
{
return RegExp.$1*Math.pow(255,3))+RegExp.$2*Math.pow(255,2))+RegExp.$3*255+RegExp.$4*1
}
또 다른
{
throw new Error("유효한 IP 주소가 아닙니다!")
}
}
(4)응용 프로그램: URL 주소에서 파일명을 추출하는 자바스크립트 프로그램
s="//www.VeVB.COm/page1.htm";
s=s.replace(/(.*/){0,}([^.]+).*/ig,”$2″) //Page1.htm
(5)응용: 정규식을 사용하여 웹 양식의 텍스트 상자 입력 내용을 제한합니다.
정규식을 사용하여 중국어로만 입력을 제한합니다. onkeyup="value="/blog/value.replace(/["^u4E00-u9FA5]/g,") ” onbeforepaste="clipboardData.setData('text',clipboardData. getData('text').replace(/[^u4E00-u9FA5]/g,”))”
정규식을 사용하여 전체 너비 문자만 입력하도록 제한합니다. onkeyup="value="/blog/value.replace(/["^uFF00-uFFFF]/g,") ” onbeforepaste="clipboardData.setData('text ',clipboardData .getData('text').replace(/[^uFF00-uFFFF]/g,"))"
정규식을 사용하여 입력을 숫자로 제한합니다. onkeyup="value="/blog/value.replace(/["^d]/g,") "onbeforepaste="clipboardData.setData('text',clipboardData.getData( ' text').replace(/[^d]/g,"))"
정규식을 사용하여 입력을 숫자와 영어로만 제한합니다. onkeyup="value="/blog/value.replace(/[W]/g,"") "onbeforepaste="clipboardData.setData('text',clipboardData.getData) ('텍스트').replace(/[^d]/g,"