>  기사  >  웹 프론트엔드  >  자바스크립트 양식 검증 - 정규식 발견_자바스크립트 기술

자바스크립트 양식 검증 - 정규식 발견_자바스크립트 기술

WBOY
WBOY원래의
2016-05-16 15:10:101629검색

추천 도서: Javascript 양식 유효성 검사 길이

Javascript 양식 확인-제출 양식

Javascript 양식 유효성 검사 - 정규식 첫 소개

이전 기사에서는 Javascript 양식 유효성 검사 - 정규 표현식의 첫 소개를 소개했습니다. 이번 기사에서는 Javascript 양식 유효성 검사 - 정규 표현식의 베일을 벗기는 내용을 소개합니다. 세부 사항.

메타 문자를 사용하여 해당 문자 유형을 일치시키세요

정규식 생성은 정규식이 "/" 쌍 안에 표시된다는 점을 제외하면 문자열 리터럴 생성과 약간 비슷합니다.

첫 번째 수준 메타 문자는 정규식에서 문자와 숫자를 연결하는 데 사용됩니다

"."는 개행 문자를 제외한 모든 문자와 일치합니다.

"d"는 모든 숫자와 일치합니다

"w"는 모든 알파벳 또는 숫자와 일치합니다

"s"는 공백과 일치합니다

"^" 문자열은 패턴으로 시작해야 합니다

"$" 문자열은 패턴으로 끝나야 합니다

메타 문자는 리터럴 문자를 나타낼 뿐만 아니라 정규 표현식을 구성하는 데 사용되는 기호입니다.

예: 여기에 세 명의 문자가 있습니다

"A","7","%"

/w/는 "A", "7"과 일치할 수 있습니다

/^d/는 "7"과 일치할 수 있습니다

/d/는 "7"과 일치할 수 있습니다

/./는 "A", "7", "%"와 일치할 수 있습니다

하지만 여러 문자가 포함된 문자열은 어떻습니까?

"2nite","007","catch22",

/^d/는 "2nite", "007"(모두 숫자로 시작)과 일치할 수 있습니다.

/ddd/는 "007"(한 줄에 숫자 3개)과 일치합니다.

/^cat/는 "catch22"(고양이 문자로 시작)와 일치할 수 있습니다.

/dd$/는 "catch22"와 일치합니다(두 개의 숫자로 끝나야 함)

예: 미국 우편번호를 일치시키면 우편번호 형식은 #####-####입니다

/^ddddd-dddd$/

한정자를 사용하여 문자 발생 횟수 지정

한정자는 정규 표현식에서 하위 패턴이 나타나는 횟수를 제어하는 ​​데 사용됩니다

한정자 앞에 하위 패턴이 오고, 한정자는 하위 패턴에 적용되어 패턴에 하위 패턴이 나타나는 횟수를 제어합니다.

"*" 한정자 앞의 하위 패턴은 0회 이상 나타나야 합니다

"+" 한정자 앞의 하위 패턴이 1번 이상 나타나야 합니다

"?" 한정자 앞의 하위 패턴은 0회 또는 1회 나타나야 합니다.

"{n}" 한정자 앞의 하위 패턴은 정확히 N 번 나타나야 합니다

"()"는 문자 및/또는 메타 문자를 수집하여 하위 패턴이 됩니다

우편번호도 예시로 사용

/^d{5}-d{4}$/

메타문자만 사용한 표현보다 한정자를 사용한 표현이 더 정확함을 알 수 있습니다

/w*/는 빈 문자열
을 포함하여 모든 영숫자 문자와 일치합니다.

/.+/ 두 번 이상 나타나는 문자열과 일치합니다(비어 있지 않은 문자열과 일치하는 데 사용됨)

/(Hot)??Donuts/는 Hot 또는 Donuts와 일치할 수 있습니다

*정규식에서 특별한 의미를 지닌 문자를 찾고 싶을 때 백슬래시를 사용할 수 있습니다

예를 들어 $:$* 일치

정규식을 사용하여 데이터 확인

JavaScript의 정규식은 정규식을 사용하여 데이터를 확인하는 핵심 요소인 RegExp 개체로 표현됩니다. 즉, 지정된 패턴이 문자열에 존재하는지 확인하는 test() 메서드입니다.

예:

코드 복사 코드는 다음과 같습니다.

var regex=/^d{5}$/;//5자리 우편번호와 일치하는 정규식

정규 표현식 객체 리터럴은 자동으로 RegExp 객체를 생성합니다

if(!regex.test(inputFiled.value)) 
{ 
//在正则表达式上调用text方法 
//如果符合合正则表达式的要求,返回true 
//如果不符合正则表达式的要求,返回false 
}

코드 예시

다음으로 문자열 형식을 확인하는 데 사용되는 구체적인 방법을 작성하세요

//regex正则表达式
//inputStr需要验证的字符串
//helpText提供信息提示的一个span标签
//helpMessage提示信息内容
//
function validateRegExp(regex,inputStr,helpText,helpMessage)
{
if(!regex.test(inputStr))
{
if(helpText!=null)
helpText.innerHTML=helpMessage;
return false;
}
else{
if(helpText!=null)
helpText.innerHTML="";
}
return true;
}
function validateDate(inputFild,helpText)
{
if(!validateNonEmpty(inputFild,helpText)//先检查参数是非空的
{
return false;
}
return validateRegExp(/^\d{2}\/\d{2}\/\d{4}$/,inputFild,helpText,"请输入正确的日期格式");//调用正则验证方法
}

자, 이번 글은 여기서 마치겠습니다. Script House 웹사이트를 응원해주신 모든 분들께 감사드립니다!

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