>웹 프론트엔드 >JS 튜토리얼 >JS는 replacement() 메소드와 정규 표현식을 사용하여 strings_javascript 기술을 검색하고 바꿉니다.

JS는 replacement() 메소드와 정규 표현식을 사용하여 strings_javascript 기술을 검색하고 바꿉니다.

WBOY
WBOY원래의
2016-05-16 16:52:551672검색

1. JS 문자열 대체 및 replacement() 메소드 사용

replace(regexp,replacement) 메소드에는 두 개의 매개변수가 있습니다. 첫 번째 매개변수는 일반 텍스트 문자열 또는 RegExp 개체일 수 있습니다. 자세한 내용은 RegExp 개체 사용을 참조하세요. 두 번째 매개변수는 문자열 또는 RegExp일 수 있습니다. 객체.

다음은 JS 문자열 교체의 예입니다.

예제 1:

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

var str= "Hello world !";
document.write(str.replace(/world/, "phper"));

예 2:
코드 복사 코드는 다음과 같습니다:

var reg=new RegExp("(\w ),(\d ),(\w )", "gmi");
var info="Lili,14,China";
var rep=info.replace(reg, "그녀는 $1, $2 살이고 출신은 $3");
alert (rep);

예시 3:
코드 복사 코드는 다음과 같습니다.

var reg=new RegExp ("(\w ),(\d ),(\w )","gmi");
var info="Lili,14,China";
var name, age, from;
function prase_info(m,p1,p2,p3) { // 명시적이지 않은 매개변수와 인수를 사용하여
name = p1;
age = p2;
from = p3;
return "그녀는 " p1 ", " p2 " 세입니다. 출신: " p3;
}
var rep=info.replace(reg, prase_info);
알림(담당자);
알림(이름);

2. RegExp 객체 사용

JavaScript는 정규식과 관련된 작업 및 기능을 완료하기 위해 RegExp 개체를 제공합니다. 각 정규식 패턴은 RegExp 인스턴스에 해당합니다. RegExp 개체의 인스턴스를 만드는 방법에는 두 가지가 있습니다.

RegExp의 명시적 생성자를 사용합니다. 구문은 다음과 같습니다. new RegExp("pattern"[,"flags"]); 일반 텍스트 형식으로 RegExp의 암시적 생성자를 사용합니다: /pattern/[flags]. 예제 4의 두 명령문은 동일합니다.

예제 4:

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

var re1 = new RegExp( "\d{5}");
var re2 = /d{5}/;

3. 문자열 검색 및 exec() 메소드 사용

exec() 메서드는 일치하는 결과를 저장하는 배열을 반환합니다. 일치하는 항목이 없으면 반환 값은 null입니다.

예제 5:

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

var reg= new RegExp( "(\w ),(\d ),(\w )","gmi");
var m=reg.exec("Lili,14,China");
var s= "";
for (i = 0; i < m.length; i ) {
s = s m[i] "n";
}
경고;

4. test() 메소드 사용

RegExpObject.test(문자열)

문자열에 RegExpObject와 일치하는 텍스트가 포함되어 있으면 true를 반환하고, 그렇지 않으면 false를 반환합니다.

예제 6:

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

var reg= new RegExp( "(\w ),(\d ),(\w )","gmi");
var m=reg.test("Lili,14,China");
alert(RegExp .$1) ;
경고(RegExp.$2);
경고(RegExp.$3);
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.