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メソッド
2.execメソッド
原文住所:http://zhangyanyansy.blog.163.com/blog/static/135305097201042110756638/
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/