>웹 프론트엔드 >JS 튜토리얼 >js_javascript 스킬의 바꾸기 사용법 요약

js_javascript 스킬의 바꾸기 사용법 요약

WBOY
WBOY원래의
2016-05-16 17:06:481372검색

replace 메소드의 구문은 다음과 같습니다. stringObj.replace(rgExp, replacementText) 여기서 stringObj는 문자열(string)이고 reExp는 정규식 객체(RegExp)일 수 있습니다. or 는 문자열이고, replacementText는 발견된 문자열을 대체합니다. . 모두의 이해를 돕기 위해 아래에 간단한 예를 들어보겠습니다

Js 코드

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

<스크립트 언어 ="javascript ">
var stringObj="Zhonggu People's Republic, Zhonggu People";

// "Zhonggu"를 "China"로 바꾸십시오. //원래 문자열 stringObj의 값은 그렇지 않습니다. 변경됨
var newstr=stringObj.replace("Zhonggu","China");
Alert(newstr)

Zhonggu"
값은 변경되지 않았습니다
China");


저보다 똑똑하신 분들은 위의 예를 읽어보시면 두 번째 오타인 "Zhonggu" does not Change가 바뀌지 않은 것을 알 수 있을 것입니다. "China"를 사용하면 두 번째 오타 "Zhonggu"를 대체하기 위해 2차 대체 방법을 실행할 수 있습니다. 프로그램은 다음과 같이 개선됩니다.

Js 코드


<스크립트 언어 ="javascript ">
var stringObj="Zhonggu People's Republic, Zhonggu People";

// "Zhonggu"를 "China"로 바꾸십시오. //원래 문자열 stringObj의 값은 그렇지 않습니다. 변경됨
var newstr=stringObj.replace("Zhonggu","China");

newstr=newstr.replace("Zhonggu","China")
Alert(newstr);

'중구'의 값은 '중국'입니다.
변경되지 않았습니다.
중국");
중국"); N^N번째 거듭제곱 오타가 있는 경우, 오타를 대체하기 위해 N^N번째 거듭제곱 교체 방법도 실행해야 합니까? 걱정하지 마세요. 정규 표현식이 없나요? 수식 이후에 교체 메소드를 실행해야 합니다. 프로그램을 개선한 후의 코드는 다음과 같습니다
.
Js 코드



코드 복사


코드는 다음과 같습니다.

일반 RegExp 객체 생성

위는 교체 방법의 가장 간단한 응용 프로그램입니다. 이해가 되셨나요? ? 조금 더 복잡한 애플리케이션부터 시작해 보겠습니다. .

일부 웹사이트에서 기사를 검색하면 이런 현상이 나타납니다. 즉, 검색 키워드가 강조 표시되고 색상이 변경되는 현상이 발생하나요? ? 이것이 어떻게 달성됩니까? ? 실제로 정규식을 사용하여 이를 달성할 수 있습니다. 어떻게 달성할 수 있나요? 간단한 원리는 아래 코드를 참고하세요

Js 코드


코드 복사

코드는 다음과 같습니다.


<스크립트 언어 ="javascript ">

var str="중화인민공화국, 중화인민공화국"; var newstr=str.replace(/(人)/g,"$1 "); document.write(newstr);
위 프로그램은 상호작용성이 부족합니다. 원하는 문자를 독립적으로 입력할 수 있도록 프로그램을 개선해 보겠습니다.

Js 코드

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

<스크립트 언어 ="javascript ">
var s=prompt("찾고 있는 문자를 입력하세요","person")
var reg=new RegExp("(" s ")","g" ); var str="중화인민공화국";
var newstr=str.replace(reg,"$1"); .write(newstr );  
  같은 방식으로 $2는 두 번째 하위 일치를 의미합니다. 첫 번째 하위 일치와 두 번째 하위 일치가 동일합니다. 대괄호는 두 번째 하위 일치입니다.
찾은 문자에 대해 작업을 수행해야 할 경우 어떻게 수행합니까? ? 구현하기 전에 먼저 특정 함수의 매개변수를 가져오는 방법에 대해 이야기해 보겠습니다. . 함수 내부에는 인수 컬렉션이 있습니다. 이 컬렉션은 현재 함수의 모든 매개변수를 저장합니다. 이해를 돕기 위해 다음 코드를 참조하세요.
Js 코드


코드 복사

코드는 다음과 같습니다.

<스크립트 언어 ="javascript "> function test(){ Alert("매개변수 수: " 인수.길이) 경보("각 매개변수의 값: " 인수[0]); 🎜> 경고("두 번째 매개변수의 값" 인수[1]); //for 루프를 사용하여 모든 매개변수를 읽을 수 있습니다. }
test("aa"," bb"," cc");

alert("
alert("
alert("
//모든 매개변수를 읽는 루프


위 프로그램을 이해한 후, 다음의 흥미로운 프로그램을 살펴보겠습니다

Js 코드




코드 복사

코드는 다음과 같습니다.


<스크립트 언어 ="javascript "> var reg=new RegExp("\d","g") var str="abd1afa4sdf" str.replace(reg,function(){alert( args.length );});
익명 함수가 두 번 실행되었으며 함수에 세 개의 매개 변수가 있다는 사실에 놀랐습니다. 두 번 실행됩니까? ? 우리가 작성한 정규 표현식이 단일 숫자와 일치하고 감지되는 문자열에 우연히 두 개의 숫자가 있으므로 익명 함수가 두 번 실행되기 때문에 이는 생각하기 쉽습니다. . 익명 함수 내부의 세 가지 매개변수는 무엇입니까? ? 이 문제를 명확히 하기 위해 다음 코드를 살펴보겠습니다.

Js 코드




코드 복사

코드는 다음과 같습니다.


<스크립트 언어 ="javascript "> function test(){ for(var i=0;i Alert(""th"의 값(i 1) "매개변수:" 인수 [i]); } } } var reg=new RegExp("\d","g")
var str="abd1afa4sdf"; > str.replace(reg ,test);

for(var i=0;ialert("매개변수 값:" 인수[ i]);
}


관찰 결과 첫 번째 매개변수는 일치하는 문자를 나타내고, 두 번째 매개변수는 일치 시 문자의 최소 인덱스 위치(RegExp.index), 세 번째 매개변수는 일치하는 문자열(RegExp.input)을 나타내는 것으로 나타났습니다. 실제로 이러한 매개변수의 수는 부분 일치 수가 증가함에 따라 증가합니다. 이러한 문제를 명확히 한 후에는 다른 작성 방법을 사용할 수 있습니다

Js 코드

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

<스크립트 언어 ="javascript ">
function test($1){ return "" $1 "" var s=prompt("문자를 입력하세요. you are looking for ","人");
var reg=new RegExp("(" s ")","g");
var str="중화인민공화국, 중화인민공화국" ;
var newstr=str.replace(reg,test);
document.write(newstr)
return " $1 ""
人");


위 프로그램을 읽은 후 일치하는 문자로 원하는 것은 무엇이든 할 수 있다는 것이 밝혀졌습니다. 다음은 간단한 응용 프로그램입니다. 예

Js 코드


코드 복사

코드는 다음과 같습니다. <스크립트 언어 ="javascript "> var str="그 사람은 22세, 그녀는 20세, 그의 아버지는 45세, 그녀의 아버지는 44세, 총 4명"
기능 테스트($1){
var gyear=(new Date()).getYear()-parseInt($1) 1;
return $1 "(" gyear "연도)"
} var reg=new RegExp(" ( \d )년","g");
var newstr=str.replace(reg,test);
경고(str);
경고(newstr);


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