1 : 정기적 인 표현식을 만드는 방법
1. 텍스트 형식, 사용 방법은 다음과 같습니다.
/패턴/플래그 (예 :/mode/mark)
2. Regexp 생성자, 사용법은 다음과 같습니다.
New Regexp ( "Pattern"[, "flags"]) (예 : New Regexp ( "Pattern"[, "mark"])))
매개 변수 :
패턴 : 정규 표현을 나타내는 텍스트
플래그 (tag) :이 항목을 지정하면 플래그가 다음 중 하나 일 수 있습니다.
G : 글로벌 경기 (전체 경기)
I : 사건 무시 (사례 무시)
GI : 글로벌 매치와 사례를 무시합니다 (가능한 모든 값과 일치하고 사례를 무시하십시오)
참고 : 따옴표를 사용하여 매개 변수를 텍스트 형식으로 표시하지 말고 인용문을 사용하여 Ergou 생성기 기능의 매개 변수를 표시하지 마십시오. 그래서 다음 표현
동일합니다.
/ab+c/i =========================== 새로운 Regexp ( "ab+c", "i")
설명하다:
생성자 함수를 사용하여 정규 표현식을 만들 때 규칙을 피하기 위해 일반 문자열을 사용해야합니다 (주요 문자 포함/ 문자열 포함).
예를 들어 다음 두 가지 진술은 다음과 같습니다.
re = new regexp ( "// w+");
re = // w+/
참고 : REGEXP에는 Preset $ 속성이 있습니다
$ 1, ..., $ 9 속성
괄호로 둘러싸인 하위 문자열을 일치시킵니다.
Regexp의 재산입니다
정적, 읽기 전용
JavaScript 1.2, NES 3.0 이상으로 제공됩니다
설명 : 입력은 정적 특성이기 때문에 개별 정규 표현 개체의 속성이 아닙니다. regexp.input을 사용 하여이 액세스 할 수 있습니다
재산.
괄호로 추가 할 수있는 하위 문자 수는 제한되지 않지만 정규식 객체는 마지막 9 만 유지할 수 있습니다.
괄호 안의 일치하는 문자열은 반환 된 배열을 사용할 수 있습니다.
<! docType html public "-// w3c // dtd html 4.0 transitional // en"> <html> <head> <title> new document </title> <script language = "javascript1.2"> var regexp = new Regexp (// w+) // s (// w+) "; str = "John Smith"; Newsstr = str.replace (regexp, "$ 2"); Newsstr2 = str.replace (Regexp, "$ 1"); document.write ( "원래 문자열 :"+str+"<br/>"); document.write (Newstr+"<br/>"); document.write (Newstr2+"<br/>"); document.write ( '$ 1 ='+regexp. $ 1+"$ 2 ="+regexp. $ 2); </script> </head> <body> </body> </html>
2 : match () 메소드는 문자열 내에서 지정된 값을 검색하거나 하나 이상의 일반 표현식에 대한 매치를 찾을 수 있습니다. 문자열의 위치가 아니라 지정된 값을 반환합니다.
문법
StringObject.match (searchValue)
StringObject.match (regexp) 매개 변수 설명
SearchValue가 필요합니다. 검색 할 문자열 값을 지정합니다.
Regexp가 필요합니다. 일치하는 패턴을 지정하는 regexp 객체. 매개 변수가 regexp 객체가 아닌 경우 먼저 regexp 생성자로 전달하여 regexp 객체로 변환해야합니다.
반환 값
일치하는 결과 배열을 저장합니다. 이 배열의 내용은 regexp에 글로벌 플래그 g가 있는지 여부에 따라 다릅니다.
설명
match () 메소드는 String StringObject를 검색하여 하나 이상의 텍스트 일치하는 regexp를 찾습니다. 이 방법의 동작은 regexp에 플래그 g가 있는지 여부에 따라 크게 달라집니다.
regexp에 플래그 g가 없으면 match () 메소드는 stringobject에서 한 번만 일치 만 수행 할 수 있습니다. 일치하는 텍스트가 없으면 match ()는 null을 반환합니다. 그렇지 않으면, 발견 된 일치하는 텍스트에 대한 정보를 저장하는 배열을 반환합니다.
일치 사용의 예 :
<! docType html public "-// w3c // dtd html 4.0 transitional // en"> <html> <head> <title> 새로운 문서 </title> <script language = "javaScript1.2"> var str = "1 + 2 동일 3"; var str2 = "11/23/55"; var results = str.match (new regexp ( "// d+", "gi")); for (var i = 0; i <results.length; i ++) {document.write (results [i]+"<br/>"); } var res = str2.match (새 regexp ( "(// d // d?)/(// d // d?)/(// d // d)"); if (str2.length == res [0] .length) {document.write (res [1]+"<br/>"); document.write (res [2]+"<br/>"); document.write (res [3]+"<br/>"); }. var result = value.match (re); if (result) {if (result [0] .length! = value.length) {alert ( "잘못된 날짜 형식. 올바른 형식은 mm/dd/yy 여야합니다.") false를 반환합니다. } else {var t = 결과 [3]; var y = parseint ( "20" + t); var m = parseint (결과 [1], 10) -1; var day = parseint (결과 [2], 10); var d = 새 날짜 (y, m, day); if (d.getLyEar ()! = y || d.getMonth ()! = m || d.getDate ()! = day) {alert ( "error date!") return false; } else {var sm = result [1] .length == 1? '0' + 결과 [1] : 결과 [1]; var sday = result [2] .length == 1? '0' + 결과 [2] : 결과 [2]; var sy = 결과 [3]; 그렇지 않으면 sm + '/' + sday + '/' + sy를 반환합니다. }}} else {alert ( "잘못된 날짜 형식. 올바른 형식은 mm/dd/yy 여야합니다."); 거짓을 반환합니다. }}