JAvascript正規表現、jquery正規表現

3822 ワード

一、javascript正規表現の基本知識
1 javascript正規オブジェクト作成と使用法宣言javascript正規表現
var reCat = new RegExp(“cat”);
あなたも
var reCat =/cat/;//Perlスタイル(推奨)
2最もよく使われるtest exec match search replace splitの6つの方法を学ぶ
1)test指定文字列が存在するかどうかをチェックする
var data = “123123″;
var reCat =/123/gi;
alert(reCat.test(data));//tr
//文字が存在するかどうかをチェックg下へ進むi大文字と小文字を区別しない
2)execはクエリ値を返す
var data = “123123,213,12312,312,3,Cat,cat,dsfsdfs,”;
var reCat =/cat/i;
alert(reCat.exec(data));//Cat
3)matchによるクエリー配列の取得
var data = “123123,213,12312,312,3,Cat,cat,dsfsdfs,”;
var reCat =/cat/gi;
var arrMactches = data.match(reCat)
for (var i=0;i < arrMactches.length ; i++)
{
alert(arrMactches[i]);//Cat cat
}
4)searchが検索位置を返すのはindexofに似ている
var data = “123123,213,12312,312,3,Cat,cat,dsfsdfs,”;
var reCat =/cat/gi;
alert(data.search(reCat));//23
5)replace置換文字正則置換
var data = “123123,213,12312,312,3,Cat,cat,dsfsdfs,”;
var reCat =/cat/gi;
alert(data.replace(reCat,”libinqq”));
6)splitは正規分割配列を利用する
var data = “123123,213,12312,312,3,Cat,cat,dsfsdfs,”;
var reCat =/\,/;
var arrdata = data.split(reCat);
for (var i = 0; i < arrdata.length; i++)
{
alert(arrdata[i]);
}3学習下の単純クラス負クラス範囲クラス組合せクラス
//簡単類
var data = “1libinqq,2libinqq,3libinqq,4libinqq”;
var reCat =/[123]libinqq/gi;
var arrdata = data.match(reCat);
for (var i = 0; i < arrdata.length; i++)
{
alert(arrdata[i]);//1libinqq 2libinqq 3libinqq
}
//マイナスクラス
var data = “alibinqq,1libinqq,2libinqq,3libinqq,4libinqq”;//\ジルコニア
var reCat =/[^a123]libinqq/gi;
var arrdata = data.match(reCat);
for (var i = 0; i < arrdata.length; i++)
{
alert(arrdata[i]);//4libinqq
}
//範囲クラス
var data="libinqq 1,libinqq 2,libinqq 3,libinqq 4,libinqq 5";//拏
var reCat =/libinqq[2-3]/gi;
var arrdata = data.match(reCat);
for (var i = 0; i < arrdata.length; i++)
{
alert(arrdata[i]);//libinqq2 libinqq3
}
//コンビネーションクラス
var data="a,b,c,w,1,2,3,5";//拏
var reCat =/[a-q1-4]/gi;
var arrdata = data.match(reCat);
for (var i = 0; i < arrdata.length; i++)
{
alert(arrdata[i]);//a b c 1 2 3
}
これらはjs正則の最も基本的な使用方法である.
二、jqry正規表現の処理
1.testメソッドreg=/^\w{3,}@\w+(\.\w+)+$/; 2         if (!reg.test(obj)){ 3             $( "#test" ).html( " " ); 4         }
2.execメソッド$.formatDate.patternParts =    /^(yy(yy)?|M(M(M(M)?)?)?|d(d)?|EEE(E)?|a|H(H)?|h(h)?|m(m)?|s(s)?|S)/; 2   var   matched = $.formatDate.patternParts.exec(pattern); 3        if   (matched) { 4 // matched index:0 , null 5       result.push($.formatDate.patternVal[matched[0]].call( this ,date)); 6          pattern = pattern.slice(matched[0].length); 7        }
原文住所:http://zhangyanyansy.blog.163.com/blog/static/135305097201042110756638/