1. RegExp 개체 개요
RegExp 개체는 정규식을 나타냅니다. RegExp는 정규식의 약어이며 문자열에 대한 패턴 일치를 수행하는 강력한 도구입니다. RegExp 개체는 텍스트에서 검색할 내용을 지정하는 데 사용됩니다. 일부 텍스트를 검색할 때 패턴을 사용하여 검색하려는 내용을 설명합니다. RegExp는 이 패턴입니다. 간단한 패턴은 단일 문자일 수 있습니다. 더 복잡한 패턴은 더 많은 문자를 포함하고 구문 분석, 형식 확인, 교체 등에 사용될 수 있습니다.
정규식은 문자열 내 검색 위치, 검색할 문자 유형 등을 지정할 수 있습니다.
2. RexExp 객체 생성
정규식을 만드는 것은 문자열을 만드는 것과 유사합니다. 정규식을 만드는 방법에는 두 가지가 있습니다.
(1) 리터럴을 사용하여 RegExp 객체를 생성하기 위한 구문:
~
(2) 새 키워드를 사용하여 RegExp 객체를 생성하는 구문:
new RegExp(패턴, 속성);
매개변수 설명:
1파라미터 패턴은 정규식 패턴이나 기타 정규식을 지정하는 문자열입니다.
2Parameter 속성은 "g", "i" 및 "m" 속성을 포함하는 선택적 패턴 문자열로, 각각 전역 일치, 대소문자 구분 없는 일치 및 여러 줄 일치를 지정하는 데 사용됩니다.
RegExp 개체는 검색 패턴을 저장하는 데 사용됩니다. new 키워드를 통해 RegExp 개체를 만듭니다. 다음 코드는 패턴이 "e"인 RegExp 개체를 생성합니다. 이 RegExp 개체를 사용하여 문자열을 검색할 때 문자 "e"가 검색됩니다.
위의 내용은 문자 그대로 생성할 수도 있는데, 이는 우리가 자주 사용하는 방법이기도 합니다.
<span style="font-size:18px;">var pattern=new RegExp("e"); var pattern=new RegExp("e",gi);//设置全局搜素不区分大小写</span>
<span style="font-size:18px;">var pattern=/e/; var pattern=/e/gi;</span>
(1)RegExp 개체 속성
위의 예에서 이러한 기본 예를 이미 살펴보았지만 몇 가지 간단한 예를 살펴보겠습니다.
<span style="font-size:18px;">var pattern=/e/gim; document.write(pattern.global+" ");//输出:true。说明设置了全局模式 document.write(pattern.ignoreCase+" ");//输出:true document.write(pattern.multiline+" ");//输出:true document.write(pattern.source+" ");//输出:e</span>
는 문자열에 지정된 값을 검색하고 반환 값은 true 또는 false입니다. 1) test() 메소드
2)
<span style="font-size:18px;">var pattern=/e/; var str="The best things in life are free"; document.write(pattern.test(str));//输出:true</span>
예:
<span style="font-size:18px;">var pattern=/e/; var str="The best things in life are free"; document.write(pattern.exec(str));//输出:e</span>
1첫 번째 "e"를 찾아 위치를 저장합니다.
2exec()를 다시 실행하면 저장된 위치에서 검색을 시작하고 다음 "e"를 찾아 해당 위치를 저장합니다.
<span style="font-size:18px;">var pattern=/e/g; var str="The best things in life are free"; do { var result=pattern.exec(str); document.write(result+" "); } while(result!=null)</span>는 정규식을 변경하는 데 사용됩니다. compile()은 검색 모드를 변경할 수 있을 뿐만 아니라 두 번째 매개변수를 추가하거나 삭제할 수도 있습니다.
<span style="font-size:18px;">var pattern=/e/; var str="The best things in life are free"; document.write(pattern.test(str));//输出:true pattern.compile("d"); document.write(pattern.test(str));//输出:false</span>
정규 표현식은 String 객체와 일정한 관계가 있으므로 String 객체의 일부 메소드를 정규 표현식에 사용할 수 있습니다.
(4)元字符是拥有特殊含义的字符:
由于这些使用广泛,我们只是举几个例子:
<span style="font-size:18px;">var pattern=/b.ue/;//点符号表示匹配除了换行符以外的任意字符。 var str="blue"; document.write(pattern.test(str));//输出:true</span>
(5)方括号用于查找某个范围的字符:
<span style="font-size:18px;">var pattern=/[a-z]oogle/;//[a-z]表示26个小写字母,任意一个都可以匹配 var str="woogle"; document.write(pattren.test(str));//输出:true</span>
(6)量词
<span style="font-size:18px;">var pattern=/go+gle/;//o*表示匹配至少一个0 var str="google"; document.write(pattren.test(str));//输出:true</span>
四、常用的正则表达式
主要的是看变量patttern模式字符串表示的正则表达式。其余的是一些JS的基本的东西,可以忽略。
(1)检查邮政编码
<span style="font-size:18px;">var pattern=/^[0-9]{6}$/;//必须是6位,并且都是是数字 var str=prompt("请输入邮政编码:"); if(pattern.test(str)) { alert("您输入的是正确的邮政标号!"); } else { alert("您输入的是错误的邮政标号!"); }</span>
输入一些数据运行的结果为:
输入:056500
输入:123
(2)简单电子邮件地址验证
<span style="font-size:18px;">var pattern=/^([\w\.\-]+)@([\w\-]+)\.([a-zA-Z]{2,4})$/; var str=prompt("请输入邮箱名称:"); if(pattern.test(str)) { alert("您输入的是正确的邮箱名称!"); } else { alert("您输入的是错误的邮箱名称!"); }</span>
(3)检查上传文件压缩包
<span style="font-size:18px;">var pattern=/[\w]+\.zip|rar|gz/;//\w表示所有数字和字母以及下划线 var str=prompt("请输入压缩包的名称:"); if(pattern.test(str)) { alert("您输入的是正确的压缩包名称!"); } else { alert("您输入的是错误的压缩包名称!"); }</span>
(4)检查手机号
<span style="font-size:18px;">var pattern=/^[1][0-9]{10}$/; var str=prompt("请输入手机号码:"); if(pattern.test(str)) { alert("您输入的是正确的手机号码!"); } else { alert("您输入的是错误的手机号码!"); }</span>
下面三个输出的结果就不再一一展示,只要写好模式正则表达式就可以检验输入的数据是否正确。由于刚刚接触正则表达式,可能有不正确的地方,自己会进行完善和修正,希望对大家的学习有所帮助。