ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScriptの正規表現のRegExpオブジェクトの詳しい解説_javascriptスキル
1. RegExp オブジェクトの概要
RegExp オブジェクトは正規表現を表します。RegExp は正規表現の略で、文字列のパターン マッチングを実行するための強力なツールです。 RegExp オブジェクトは、テキストから取得するコンテンツを指定するために使用されます。テキストを取得するときは、パターンを使用して取得する内容を記述します。 RegExp はこのパターンです。単純なパターンには単一の文字を使用できますが、より複雑なパターンにはさらに多くの文字が含まれており、解析、形式チェック、置換などに使用できます。
正規表現では、文字列内の検索位置や検索する文字の種類などを指定できます。
2. RexExp オブジェクトを作成します
正規表現の作成は文字列の作成と似ています。正規表現を作成するには 2 つの方法があります。
(1) リテラルを使用して RegExp オブジェクトを作成するための構文:
(2) 新しいキーワードを使用して RegExp オブジェクトを作成する構文:
新しい RegExp(パターン、属性);
パラメータの説明:
1パラメータパターンは、正規表現パターンまたはその他の正規表現を指定する文字列です。
2Parameter 属性は、属性 "g"、"i"、および "m" を含むオプションのパターン文字列で、それぞれグローバル マッチング、大文字と小文字を区別しないマッチング、および複数行のマッチングを指定するために使用されます。
RegExp オブジェクトは、取得パターンを格納するために使用されます。 new キーワードを使用して RegExp オブジェクトを作成します。次のコードは、パターンという名前の RegExp オブジェクトを作成します。そのパターンは「e」です。この 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」を見つけて、その位置を保存します。
2再度 exec() を実行すると、保存された位置から検索が開始され、次の "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() は、取得モードを変更するだけでなく、2 番目のパラメーターを追加または削除することもできます。
<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>
下面三个输出的结果就不再一一展示,只要写好模式正则表达式就可以检验输入的数据是否正确。由于刚刚接触正则表达式,可能有不正确的地方,自己会进行完善和修正,希望对大家的学习有所帮助。