一般的な正規表現(文字)

チェックボックス正規表現を

  // チェックボックス規則
    VARザのcheckEmail =(ルール、値、コールバック)=> { 
      CONST regEmail + +([A-ZA-Z0-9_-] = / ^([A-ZA-Z0-9 _-]) )+([\。[-ZA-Z0-9 _-]])+ /
       IF (regEmail.text(値)){
         返す(コールバック)
      } 
      コールバック(新しい新しいエラー(「有効なメールボックス」を入力してください))
    }

確認電話番号の正規表現を

  // チェックが電話ルール
    VAR checkMobile =(ルール、値、CBを)=> { 
      CONST regMobile = / ^(0 | 86 | 17951)(13である[0-9] |?15 [012 356 789] | 17 [678] | 。。14 [57である] | | 19 [0267])[0-9] 8}、{$ / 18 [0-9]は
       IF (regMobile.text(値)){
         戻りCB()
      } 
      CB(新しい新しいエラー(「入力します正当な電話番号" ))
    }

チェック固定電話番号の正規表現を

// 固定電話番号のチェック
 VAR checkTel =(ルール、値、CB)=> { 
      CONST regtel(| - | \ S \ D {3,4} \(\ D {3,4} \))= / ^を?\ dは{7、14} $ / .TEST(TEL)
       IF (regtel.text(値)){
         リターンCB()
      } 
      CB(新しい新しいエラー( '有効な電話番号を入力してください。' ))
    }

チェック・アイデンティティは、文書化し、正規表現を

 // チェックルールID 
  VAR checkIDcard =(ルール、値、CB)=> { 
    CONST regIDcard =(^ \ D {15} $)|(^ \ 17。} {D([0-9] | X-)$ )
     IF (regIDcard.text(値)){
       戻りCB()
    } 
    CB(新しい新しいエラー(「有効なID番号」を入力してください))
  }

他の一般的な

情報抽出のネットワークリンク(H | H)(R&LT | R&LT)(E | E)(F | F)* * =(「|「)(。\ W | \\ | \ / | \)+? (「| " ?| * |>)
 
で抽出情報への電子メールアドレス\ワット+([ - +。] \ W +)* @ \ワット+([ - ] \ W +)* \ \ワット+([ - 。]。 \ + W)*
 
抽出された情報画像リンク(S | S)(R&LT | R&LT)(C | C)* = *(「|「)(\ W | \\ | \ / | \)+(?。 ?「|「| * |> )

で抽出情報へのIPアドレス(\ dは +)\(\ D +)\(\ D +)\(\ D + ... 
 
で抽出情報中国の電話番号(携帯電話を含むと固定電話)({\(\ D?3,4} \)| \ D {3,4} - | \ S)\ D {7,14 }
 
で抽出情報中国ZIP[ 1-9] 1} {(\ + D)5 { }
 
抽出情報中国ID番号\ D { 18である} | \ D {15 }

抽出情報の整数\ D + 

抽出情報浮動小数点(すなわち10進数) - \ D *?)\ \ D +。?

で抽出情報任意の番号 - ?\ D *)(\ \。 ?D +)

で抽出情報への中国の文字列[\ u4e00 - \ u9fa5] * 

情報が抽出されたダブルバイト文字列(漢字)[ ^ \ x00- \ XFF] *
正規表現を使用します
方法 説明
exec 方法正規表現マッチング文字列のルックアップを行うには、(nullに戻ると一致しない)の配列を返します。
test 試験方法のRegExp trueまたはfalseを返し、文字列、で一致。
match リターンのヌルと一致しない場合、文字列に一致する文字列の実行方法を見つけ、それは、配列を返します。
matchAll 文字列に一致するものを実行するために、すべての文字列の方法を見つけ、それは反復子(イテレータ)を返します。
search 文字列内の文字列と一致するための試験方法は、一致した位置のインデックスに戻り、-1失敗しました。
replace 文字列のマッチング方法文字列で検索を実行すると、サブストリング一致する文字列を置き換える置き換えるために使用されます。
split 正規表現または文字列を使用してパーティションに固定された文字列、配列に格納することによってサブストリングを分離  String する方法。

 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

特殊文字

正規表現フラグ
マーク 説明
g グローバル検索。
i 大文字と小文字を区別しない検索。
m マルチライン検索。
s 許可  . 改行にマッチします。
u ユニコードモードコードの一致を使用してください。
y 文字列の先頭から、目標の現在位置を合わせる「スティッキー」検索の実装では、あなたは、yフラグを使用することができます。

 

文字 意味
\

私は、「\」ときBプラスバックスラッシュの前で/ B /、私は言葉を一致させるために\回した後/ B /は、文字「B」と一致するような文字は、バックの意味の元の解釈によるものです通常ある、回すとボーダー。 
-または- 
正規表現のように「*」それフロントメタ文字が0回以上にマッチするように機能文字を復元し、/ * /、AA、AAA、プラス「\」\ /、後にマッチします* /のみ「*」と一致します。

^ 一致せず、ラインまたは入力/ ^ /一致「A」の先頭と一致する「A」
$ またはマッチ入力ラインの代わりにマッチングの、/ $ /マッチング「A」、「A」の終わり
* フロントメタ文字を一致させる0回以上、/ BA * / Bにマッチします、BA、BAA、baaa
+ 前回のメタ文字の1回以上、/ BA * / BAにマッチします、BAA、baaaにマッチします
一致する前のメタ文字0または1、/ BA * / Bと一致します、BA
(バツ) マッチ$ 77という名前の変数に保存X xは... $ 9
X |と マッチxまたはy
{N} 完全一致n回
{N} より多くの試合よりもN倍
{N、M} nmの時間をマッチング
[XYZ] 文字セット(文字セット)は、文字の一組のいずれか(または文字員)と一致します
[^ XYZ] これは、このセット内の文字のいずれとも一致しません
[\ B] バックスペースマッチング
\ B 単語の境界にマッチします
\ B 非単語の境界にマッチします
CX \ ここで、Xは、CM / Ctrlキーを押しながらMマッチ\ /、制御文字であります
\ dは 単語の文字にマッチし、/ \ D / = / [0-9] /
\ D 非文字の単語が一致し、/ \ D / = / [^ 0-9] /
\ nは 改行にマッチします
\ rを キャリッジリターンマッチ
\ sの nは、\ R、\ fと\トン\含む空白文字を、マッチング、\ Vなど
\ S 匹配一个非空白字符,等于/[^\n\f\r\t\v]/
\t 匹配一个制表符
\v 匹配一个重直制表符
\w 匹配一个可以组成单词的字符(alphanumeric,这是我的意译,含数字),包括下划线,如[\w]匹配"$5.98"中的5,等于[a-zA-Z0-9]
\W 匹配一个不可以组成单词的字符,如[\W]匹配"$5.98"中的$,等于[^a-zA-Z0-9]。

 使用方式

用re = new RegExp("pattern",["flags"]) 的方式比较好 
pattern : 正则表达式 
flags: g (全文查找出现的所有 pattern) 
i (忽略大小写) 
m (多行查找)

vaScript动态正则表达式问题

请问正则表达式可以动态生成吗? 
例如JavaScript中: 
var str = "strTemp"; 
要生成: 
var re = /strTemp/; 
如果是字符连接: 
var re = "/" + str + "/"即可 
但是要生成表达式,可以实现吗?怎样实现?

おすすめ

転載: www.cnblogs.com/whoamimy/p/12435839.html