JavaScriptの定期的な練習(最近の執筆に基づいて継続的に更新されます)
1.JavaScriptの通常のオブジェクトの交換の作成と使用法: /パターン /フラグ最初に簡単なケースを学び、交換ができることを理解してください
正規表現コンストラクター:new regexp( "pattern" [、 "flags"]);
正規表現置換変数関数:Stringobj.Replace(Regexp、Telffer Text);
パラメーター説明:
パターン - 正規表現テキスト
フラグ - 存在する場合、それは次の値になります。
G:グローバルマッチ
I:ケースを無視します
GI:上記の組み合わせ
//次の例を使用して、URLの2つのパラメーターを取得し、urlrewrite reg = new regexp( "(http://www.qidian.com/bookreader/)(//d+)))の前に実際のurlvarを返します。 url = "http://www.qidian.com/bookreader/1017141,20361055.aspx"; //方法1、最も単純で一般的に使用されるメソッドvar rep = url.replace(reg、 "$ 1showbook.aspx?bookid = $ 2&chapterid = $ 3" rep2 = url.replace(reg、function(m、p1、p2、p3){return p1+"showbook.aspx?bookid ="+p3+"&chapterid ="+p3}); alert(rep2); method 3、非固定パラメータを持つvar rep3 = url.replace(var args()barce()url.replace()を使用してコールバック関数を使用します。 args [1]+"showbook.aspx?bookid ="+args [2]+"&chapterid ="+args [3];}); alert(rep3); // method 4 // method 4は方法3と非常に似ています。 var Chapterid; function captext(){var args = arguments; bookid = args [2]; ChapterId = args [3]; return args [1]+"showbook.aspx?bookid ="+args [2]+"&chapterid ="+args [3];} var rep4 = url.replace(reg、captext); alert(agreid); alert(bookid); //テスト方法を使用して、var reg3 = greg3 = newのグループ化を取得するためにテスト方法を取得するregexp( "(http://www.qidian.com/bookreader/)(//d+),//d+).aspx"、 "gmi"); reg3.test( "http://www.qidian.com/bookreader/1017141,20361055.aspx");アラート(regexp。$ 2);アラート(regexp。$ 3);2。最も一般的に使用されるテストエグゼクティブの試験は、スプリット6の方法を置き換えます
1)指定された文字列が存在するかどうかをテストします
var data =“ 123123″;
var recat = /123 /gi;
アラート(recat.test(data)); //真実
//キャラクターが存在するかどうかを確認しますGは下降し続けますIはケースに敏感です
2)execはクエリ値を返します
var data = "123123,213,12312,312,3、猫、猫、dsfsdfs";
var recat = /cat /i;
アラート(recat.exec(data)); //猫
3)マッチはクエリアレイを取得します
var data = "123123,213,12312,312,3、猫、猫、dsfsdfs";
var recat = /cat /gi;
var arrmactches = data.match(recat)
for(var i = 0; i <arrmactches.length; i ++)
{
アラート(arrmactches [i]); //猫猫
}
4)IndexOFと同様の検索[検索位置を検索します
var data = "123123,213,12312,312,3、猫、猫、dsfsdfs";
var recat = /cat /gi;
Alert(data.search(recat)); // 23
5)定期的な交換を使用して、交換用の文字を交換します
var data = "123123,213,12312,312,3、猫、猫、dsfsdfs";
var recat = /cat /gi;
alert(data.replace(recat、 "libinqq"));
6)通常のセグメンテーションアレイを使用して分割します
var data = "123123,213,12312,312,3、猫、猫、dsfsdfs";
var recat = //、/;
var arrdata = data.split(recat);
for(var i = 0; i <arrdata.length; i ++)
{
アラート(arrdata [i]);
}
3。一般的に使用される表現のコレクション:
"^// d + $" //非否定整数(正の整数 + 0)
"^[0-9]*[1-9] [0-9]*$" //ポジティブ整数
"^(( - // d+)|(0+))$" //正の整数ではない(負の整数+0)
"^ - [0-9]*[1-9] [0-9]*$" //ネガティブ整数
"^ - ?// d+$" // integer
"^// d+(//.// d+)?$" //非陰性浮動小数点番号(正の浮動小数点番号+0)
^(([0-9]+//。[0-9]*[1-9] [0-9]*)|([0-9]*[1-9] [0-9]*//。[0-9]+)|([0-9]*[1-9] [0-9]*)$ "$"
//正の浮動小数点番号
^(( - // d+(//.// d+)?)|(0+(//。0+)?))$ "//非陽性フローティングポイント番号(ネガティブフローティングポイント番号+0)
^( - (([0-9]+//。[0-9]*[1-9] [0-9]*)|([0-9]*[1-9] [0-9]*//。[0-9]+)|([0-9]*[1-9] [0-9])))$ "$"
//負の浮動小数点数
"^( - ?// d+)(//.// d+)?$" //フローティングポイント番号
「^[a-za-z]+$」// 26の英語文字で構成される文字列
"^[az]+$" // 26の英語の文字大文字化で構成される文字列
"^[az]+$" // 26英語文字の小文字で構成される文字列
"^[a-za-z0-9]+$" //数字と26の英語の文字で構成される文字列
"^// w+$" //数字、26の英語の手紙またはアンダースコアで構成される文字列
"^[// w-]+(//
"^[a-za-z]+://(// w+( - // w+)*)(//。(// w+( - // w+)*)*(//?// s*)?$" // url
「^[a-za-z0-9 _]*$」。
正規表現の基本
^行の入力または始まりに一致します。
$は入力または行の終わりと一致します。
*以前のMetacharacter 0以上を一致させ、 / ba* /はB、BA、BAA、BAAに一致します
+以前のメタカラクターを1回以上一致させ、 / ba+ /はba、baa、baaaに一致します
?以前のメタカラクター0または1時間、 / ba? / b、baを一致させる
(x)一致xは$ 1という名前の変数にxを保存します... $ 9
x | yはxまたはyに一致します
{n}正確な一致n回
{n、}はn回以上一致します
{n、m} nm回を一致させます
[xyz]文字セット、このセットのキャラクター(またはmetacharacter)に一致する
[^xyz]は、このコレクションのキャラクターと一致しません
[/b]バックスペースの文字に一致します
/b単語の境界に一致します
/bワードの非境界に一致します
/cxここでは、xはコントロール文字、// cm/ctrl-mと一致します
/d文字と一致する、// d/=/[0-9]/
/dは単語以外の数値文字に一致します、// d/=/[^0-9]/
/nは新しいライン文字に一致します
/Rは、キャリッジリターン文字に一致します
/sは/n、/r、/f、/t、/vなどを含む空白文字と一致します。
/sは/[^/n/f/r/t/v]に等しい非白色文字と一致します
/tタブ文字に一致します
/vリダイレクトタブ文字に一致します
/wは、[/w]が「$ 5.98」で5と一致するようなアンダースコアを含む、単語を形成できる文字(数字を含む私の翻訳)に一致します。
/w [/w]が[$ 5.98]で$と一致するなど、単語を形成できない文字を一致させます。これは[^a-za-z0-9]に等しい。