>  기사  >  웹 프론트엔드  >  js 정규식_javascript 스킬 사용에 대한 자세한 설명

js 정규식_javascript 스킬 사용에 대한 자세한 설명

WBOY
WBOY원래의
2016-05-16 17:29:171059검색

js의 정규식은 C#의 정규식에 비해 훨씬 약하지만 기본적으로는 충분합니다
1 정규식 정의
2 확인에 대해 세 가지 표현 방법
3 정규식의 이스케이프 문자

1 정규식 정의
js에서 정규식을 정의하는 것은 매우 쉽습니다. 간단합니다. 두 가지 방법이 있습니다. 하나는 생성자를 통하는 것이고, 다른 하나는 //를 통해 이루어지며 이는 두 개의 슬래시입니다.
예를 들어

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

var re =new RegExp("\ ?(\w{1,}=\w{1,}&){1,}\w{1,}=\w{1,}");

생성자 정의 정규식을 사용하고 대문자 사용에 주의하세요. 그렇지 않으면 작동하지 않습니다. 생성자의 매개변수는 문자열이므로 두 개의 슬래시로 정의할 수도 있습니다. 일부 특수 문자가 나타나면 이스케이프
를 사용하여 이중 슬래시
코드 복사 코드는 다음과 같습니다.
var re =/?(w{1,}=w{1 ,} &){1,}w{1,}=w{1,}/;


코드 복사 코드는 다음과 같습니다.
var re =new RegExp( /^?(w{1,}=w{1,}&){1,}w{1,}=w { 1,}/);

은 생성자와 동일한 효과를 얻을 수 있지만 주의 깊게 분석해 보면 생성자를 통해 더 많은 이스케이프 문자가 필요한 것으로 나타났습니다.

2 정규 3개 검증을 위한 표현식 메소드
정규 표현식을 주로 사용하는 것은 문자열 메소드 매치, 정규 표현식 메소드 exec, 테스트입니다
정규 표현식 메소드 테스트는 주어진 문자열을 테스트합니다. 정규 표현식이 만족되는지 아니면 그렇지 않은 경우 반환 값은 bool 유형이며 true와 false만 있습니다. 단순한 판단인 경우에는 다른 처리가 필요하지 않으며 특히 검증에 사용할 수 있습니다.

코드 복사 코드는 다음과 같습니다.
function test(){
var text=" index.aspx?test=1&ww=2&www=3"; // 
 var re =/?(w{1,}=w{1,}&){1,}w{1,}= w{1 ,}/;
// var re =new RegExp("\?(\w{1,}=\w{1,}&){1,}\w{1,}=\w {1, }");
var result= re.test(text);
if(result)
{
Alert("ok");
}else
{
Alert("err");
} }

}

정규 표현식 메소드 exec는 주어진 문자열이 정규 표현식을 만족하는지 테스트하고 일치하는 문자열을 반환합니다. 일치하는 항목이 없으면 기본적으로 테스트와 동일한 null을 반환합니다. 일치하는 각 하위 문자열을 가져와야 하는 경우 위의 테스트 예를 다음과 같이 다시 작성할 수 있습니다.

코드 복사 코드는 다음과 같습니다.
function test(){
var text="index.aspx?test=1&ww =2&www=3 ";
              var   re = /?(w{1,}=w{1,}&){1,}w{1,}=w{1,}/;                                     > ?(\w{1,}=\w{1,}&){1,}\w{1,}=\w{1,}");
var result= re.exec(텍스트);
if(결과)
{
Alert("ok")
             Alert(결과[0]          0");//Yes?test=1&ww=2&www=3
                         ~
{
경고("err")
}

}


match는 실제로는 문자열 방식이지만, 매개변수는 실제로는 정규식입니다. 위의 예를 다시 작성해 보면 다음과 같습니다
코드 복사 코드는 다음과 같습니다.

function test(){
var text="index.aspx?test=1&ww=234" //
var re = /?( w{1,}=w{1,}&){1,}w{1,}=w{1,}/;
                                                                             1,}&){1,}\w{1 ,}=\w{1,}"
var result= text.match(re);
if(result)
Alert(result); //? Test = 1 & ww = 234, test = 1 &
Alert (result [0] ", 0"); //? test = 1 & ww = 234
Alert (result [1] "" . 정규식을 전달할 수 있는 함수가 여러 개 있습니다. 분할, 검색, 교체 등이 있지만 이러한 방법은 더 이상 검증에 적합하지 않습니다.




코드 복사

코드는 다음과 같습니다.

3개의 이스케이프 문자 표현식

물음표와 같은 이스케이프 문자가 정규 표현식에 자주 등장합니까? 정규 표현식의 특수 문자 의미, 물음표?를 일치시켜야 하는 경우 이스케이프 문자 백슬래시
를 사용하십시오. 다음 두 가지 모두 물음표



코드 복사


코드는 다음과 같습니다.

function test(){
var text="? test=1&ww=2&www=3";
var re = /^?(w{1,}=w{1,}&){1,}w{1,}=w{1,}/;/ / ?는 구성 물음표를 나타냅니까?
// var re =new RegExp( "^\?(\w{1,}=\w{1,}&){1,}\w{1,}=\ w{1,}");// \?는 구성 물음표를 나타냅니까?
var result= re.exec(text);
if(result) { Alert("ok" ); 경고(결과); 경고(결과[0 ] ",0"); 경고(결과[1] ",1") }else
{
경고("err");
} }

}



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