Javascript——正規表現

5036 ワード

構文
/       /   (  )
正規表現は文字列で構成される検索モードです.
テキストでデータを検索すると、検索モードで検索したい内容を記述できます.
正規表現はすべてのテキスト検索とテキスト置換のために使用できます.
文字列の使い方
search()
文字列で指定されたサブ文字列を検索したり、正規表現にマッチするサブ文字列を検索して、サブストリングの開始位置を返します.
var str = "Visit Runoob!"; 
var n = str.search(/Runoob/i);
出力:
6
replace()
文字列で他の文字を一部の文字で置換するか、正規表現と一致するサブストリングを置換します.
var str = "Visit Runoob!"; 
var n = str.search(/visit/i,"Hello");
出力:
Hello Runoob!
正規表現の修飾子
修飾子
説明
i
大文字と小文字のマッチングに敏感ではありません.
g
グローバルマッチングを実行します.最初のマッチが見つかったら停止するのではなく、すべてのマッチを検索します.
m
複数行マッチを実行します.
正規表現モード
メタ文字は特殊な意味を持つ文字です.
メタ文字
説明
...
任意の1文字を検索します.改行以外
\w
任意の文字または数字または下線
\d
数値文字とマッチする
\D
非数値文字とマッチ
\s
任意の空白文字にマッチ
\S
空白文字以外のマッチ
\0
NULL文字を検索
行の区切りを合わせる
\f
ページの区切りを合わせる
\r
リターンマッチ
\uxxxx
16進数のxxxxで規定されているユニフォーム文字を検索します.
助数詞:
助数詞
説明
n+
少なくとも一つのnを含む文字列にマッチします.
n*
0つ以上のnの文字列にマッチします.
nですか
ゼロまたは1 nの文字列にマッチします.
n{x}
x個のnを含むシーケンス文字列にマッチします.
n{x,y}
少なくともx個、最大y個nの文字列に一致します.
n{x}
少なくともx個の文字列にマッチします.
n$
nで終わる文字列にマッチします.
^n
nで始まる文字列にマッチします.
A 124 B
AまたはBにマッチできます
四角括弧は、ある範囲の文字を検索するために使用されます.
表式
説明
[abc]
四角いかっこの中の任意の文字を検索します.
[0-9]
0から9までのすべての数字を検索します.
RegExpオブジェクトを使う
testを使う()
  • test()方法は正規表現法である.
  • test()メソッドは、文字列があるモードにマッチするかどうかを検出するために使用され、文字列にマッチするテキストが含まれている場合、trueを返します.そうでなければfalseを返します.
  • /e/.test("The best things in life are free!")
    true
    exec()を使う
  • exec()方法は正規表現法である.
  • exec()メソッドは、文字列内の正規表現のマッチングを検索するために使用される.
  • は、マッチングの結果が格納される行列を返します.マッチが見つからない場合、戻り値はnullです.
  • var re = /^(\d+?)(0*)$/
    re.exec('102300')
    [ '102300', '1023', '00', index: 0, input: '102300' ]
    正規表現の検証例
    /*      */
    function    isDecimal(strValue )  {  
       var  objRegExp= /^\d+\.\d+$/;
       return  objRegExp.test(strValue);  
    }  
    
    /*           */
    function ischina(str) {
        var reg=/^[\u4E00-\u9FA5]{2,4}$/;   /*       */
        return reg.test(str);     /*    */
    }
    
    /*      8      */
    function isStudentNo(str) {
        var reg=/^[0-9]{8}$/;   /*       */
        return reg.test(str);     /*    */
    }
    
    /*        */
    function isTelCode(str) {
        var reg= /^((0\d{2,3}-\d{7,8})|(1[3584]\d{9}))$/;
        return reg.test(str);
    }
    
    /*           */
    function IsEmail(str) {
        var reg=/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/;
        return reg.test(str);
    }