ホームページ  >  記事  >  ウェブフロントエンド  >  js正規表現の使い方を詳しく解説_javascriptスキル

js正規表現の使い方を詳しく解説_javascriptスキル

WBOY
WBOYオリジナル
2016-05-16 17:29:171056ブラウズ

js の正規表現は C# の正規表現よりもはるかに弱いですが、基本的には十分です
1 正規表現を定義します
2 検証について 3 つの表現方法
3正規表現のエスケープ文字

1 正規表現を定義する
js で正規表現を定義するのは非常に簡単です。 シンプルで、2 つの方法があります。1 つはコンストラクターを使用する方法です。もう 1 つは // (2 つのスラッシュ) を使用します。

コードをコピーします コードは次のとおりです:

var re =new RegExp("\ ?(\w{1,}=\w{1,}&){1,}\w{1,}=\w{1,}");

コンストラクター定義の正規表現を使用し、大文字と小文字の区別に注意してください。そうでないと機能しません。コンストラクターのパラメーターは文字列であるため、2 つのスラッシュを使用して定義することもできます。特殊文字が見つかった場合は、エスケープ
を使用して、二重スラッシュ
コードをコピー コードは次のとおりです:
var re =/?(w{1,}=w{1 ,} &){1,}w{1,}=w{1,}/;


コードをコピー コードは次のとおりです:
var re =new RegExp( /^?(w{1,}=w{1,}&){1,}w{1,}=w { 1,}/);

はコンストラクターと同じ効果を達成できますが、注意深く分析すると、コンストラクターを介してより多くのエスケープ文字が必要であることがわかります

2 3 つの正規検証のための式メソッド
正規表現を使用する主なメソッドは、文字列メソッド match、正規表現メソッド exec、および test です
正規表現メソッド test は、指定された文字列をテストします。正規表現が満たされているかどうかをテストします。戻り値は true と false のみの bool 型であり、単純な判定であれば特に処理は必要なく、特に検証に使用できます。

コードをコピー コードは次のとおりです。
function test(){
var text="index.aspx?test=1&ww=2&www=3"; //
var re =/?(w{1,}=w{1,}&){1,}w{1,}= w{1 ,}/;
// var re =new RegExp("\?(\w{1,}=\w{1,}&){1,}\w{1,}=\w {1, }");
var result= re.test(text);
if(result)
{
alert("ok");
}else
{
alert("err");
} }

}

正規表現メソッド exec は、指定された文字列が正規表現を満たすかどうかをテストし、一致した文字列を返します。一致するものがない場合は null を返します。これは基本的に test と同じです。一致する部分文字列をそれぞれ取得する必要がある場合、上記のテストの例は次のように書き換えることができます。

コードをコピー コードは次のとおりです:
function test(){
var text="index.aspx?test=1&ww =2&www=3 ";
var re = /?(w{1,}=w{1,}&){1,}w{1,}=w{1,}/; RegExp( "\ ?(\w{1,}=\w{1,}&){1,}\w{1,}=\w{1,}");
var result= re.exec (テキスト);
if(result)
{
alert( "ok"); 🎜> {
アラート ("エラー")
}

}


match is actually a string method, but the parameter is indeed a regular expression. After rewriting the above example, it is as follows
Copy code The code is as follows:

function test(){
var text="index.aspx?test=1&ww=234"; //
var re = /?( w{1,}=w{1,}&){1,}w{1,}=w{1,}/;
                                                                                          1,}&){1,}\w{1,}=\w{1,}"
var result= text.match(re);
if(result)
alert(result);//?test=1&ww=234,test=1& ​ ​. There are multiple functions that can pass regular expressions, split, search, replace, etc. but these methods are no longer suitable for verification.




Copy code


The code is as follows:

function test(){
var text=" index.aspx?test=1&ww=234"; //
var re = /?(w{1,}=w{1,}&){1,}w{1,}=w{1,} /; // var re2 = "(\w{1,}=\w{1,}&){1,}\w{1,}=\w{1,}" var result = text.split(re);                                                                              } 3 Escape characters of regular expressions
Escape characters often appear in regular expressions, such as question marks? There are special characters in regular expressions Meaning, if you need to match a question mark?, you need to escape it. Use the escape character backslash
. Both of the following are matching a string starting with the question mark




Copy Code


The code is as follows:

function test(){ var text="?test=1&ww=2&www=3";
var re = /^?(w{1,}=w{1,}&){1,}w{1,}=w{1,}/;// ?Indicates configuration question mark?
// var re =new RegExp( "^\?(\w{1,}=\w{1,}&){1,}\w{1,}=\w{1,}");// \? represents a configuration question mark?
var result= re.exec(text);
if(result) alert("err");
} }

}



声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。