一般的な正規表現と、いくつかのデモ

式の最初の、チェックデジット

  • デジタル:^ [0-9] * $
  • ビット数n:^ \ dの{N} $
  • 少なくともnビット番号:^ \ D {N} $
  • MNビット番号:^ \ dを{M、N} $
  • デジタルゼロと先頭の非ゼロ:^(0 | [1-9] [0-9] *)$
  • ゼロから始まる2つまでの小数:?^([1-9] [0-9] *)と+(。\ [0-9] {1,2})$
  • (\ \ D {1,2})\ D + $ - 正または負1-2:?^(\)と小数
  • 正、負、および小数:? ^(\ - | \ +)\ D + $(\ \ D +。)?
  • 小数点以下の2つの正の実数:? ^ [0-9] +(。\ [0-9] {2})$
  • :? ^ [0-9] +(。\ [0-9] {1,3})$小数点以下の1〜3個の正の実数
  • ゼロ以外の正の整数:^ [1-9] \ D * $または^([1-9] [0-9] *)または$ {1,3} ^ \ + [1-9] [0-? 9] * $
  • 負の整数のゼロ:^ \ - [1-9] [] 0-9「または* ^ $ - [1-9] \ D * $
  • 非負の整数:^ \ dは+ $または^ [1-9] \ D * | 0 $
  • 非正の整数:^ - [1-9] \ D * | 0 $または^(( - \ D +)|(0 +))$
  • ?非負のフロート:. ^ \ D +(\ \ D +)$または^ [1-9] \ D * \ \ D * | 0 \ \ D * [1-9] \ D * | 0 \? .0+ | 0 $
  • (。?。?( - \ D +(\ \ D +))|(0 +(\ 0 +))):非正フロート^ $または^( - ([1-9] \ D * \ \ D。 * |。0 \ \ D * [1-9] \ D *))| 0 \ 0 + |?。0 $
  • ポジティブフロート:^ [1-9] \ D * \ \ D * | 0 \ \ D * [1-9] \ D * $ ^または(([0-9] + \ [0-9。 ] * [1-9] [0-9] *)|([0-9] * [1-9] [0-9] * \ [0-9] +)|。([0-9] * [1-9] [0-9] *))$
  • 負のフロート:^ - (.. [1-9] \ D * \ \ D * | 0 \ \ D * [1-9] \ D *)$または^( - (([0-9] + \ 。[0-9] * [1-9] [0-9] *)|([0-9] * [1-9] [0-9] * \ [0-9] +)|。([ 0-9] * [1-9] [0-9] *)))$
  • フロート:^( - \ D +?)$か^ - ([1-9] \ D * \ \ D * | 0 \ \ D * [1-9] \ dは?? ..(\ \ D +。) * | 0 \ 0 + |?。0)$

式には、文字をチェックします

  • 文字:^ [\ u4e00- \ u9fa5] {0、} $
  • 英数字:^ [A-ZA-Z0-9] + $または^ [A-ZA-Z0-9] {4,40} $
  • 長さのすべての文字が3-20である:{^} $ 3.20。
  • 文字からなる文字列26:^ [A-ZA-Z] + $
  • 英語の大文字の文字列26:^ [AZ] + $
  • 文字列は26個の小文字の英文字で構成されています^ [AZ] + $
  • ^ [A-ZA-Z0-9] + $:英語26の数字と文字の文字列
  • なる26桁の文字列、文字またはアンダースコア:^ W \ + $または^ \ W {3,20} $
  • アンダースコアを含む中国語、英語、数字、:^ [\ u4E00- \ u9FA5A-ZA-Z0-9 _] + $
  • などが、下線ない中国語、英語、数字、記号:^ [\ u4E00- \ u9FA5A-ZA-Z0-9] + $または^ [\ u4E00- \ u9FA5A-ZA-Z0-9] {2,20} $
  • 入力は^&%を含有してよい '; $ = \「のような文字:?[^%&' ,; = $ \ X22?] +を
  • - からなる入力文字を無効にします。[^〜\ X22] +

式の第三に、特別なニーズ

  • メール地址:。([ - ] + W \)^ \ W +([ - 。 - +] + W \)* @ \ワット+([。] \ + W)* \ \ + W * $
  • 域名:[-ZA-Z0-9] [ - -ZA-Z0-9] {0,62}(/ [A-ZA-Z0-9] [ - -ZA-Z0-9] {0 、62})+ /。
  • InternetURL:[-ZA-Z] +:// [^ \ S] *或^のhttp://([\ W-] + \。)+ [\ W-] +(/ [\ W - /。 ?%&=] *)?$
  • 電話番号:^(13 [0-9] | 14 [5 | 7] | 15 [0 | 1 | 2 | 3 | 5 | 6 | 7 | 8 | 9] | 18 [0 | 1 | 2 | 3 | 5 | 6 | 7 | 8 | 9])の\ D {8} $
  • 电话号码( "XXX-XXXXXXX"、 "XXXX-XXXXXXXX"、 "XXX-XXXXXXX"、 "XXX-XXXXXXXX"、 "XXXXXXX" 和 "XXXXXXXX):^(\(\ dの{3,4} - )| \ D {3.4} - ?)\ dは{7,8} $
  • 国内の電話番号(0511-4405222,021-87888822):\ dの{3} - \ dの{8} | \ D {4} - \ dの{7}
  • 電話番号の正規表現(サポート電話番号、市外局番3-4、7-8ライブ数字1-4桁の内線番号):((\ dの{11})| ^((\ dの{7,8} )|(\ dの{4} |の\ D {3}) - (\ dの{7,8})|(\ D {4} |の\ D {3}) - (\ dの{7,8}) - (\ dの{4} |の\ D {3} |の\ D {2} |の\ D {1})|(\ D {7,8}) - (\ D {4} |の\ D {3} | \ D {2} | \ dの{1}))$)
  • ID番号(15、18桁の数字)は、最後の桁はチェックデジットで、数字や文字X場合があります(^ \ dは{15} $)|(^ \ dは{18} $)|(^ \ D {17}(\ dは| X | X)$)
  • アカウントは、(5-16バイト英数字に下線を許可することができ、文字で始まる)が有効である:^ [-ZA-Z] [-ZA-Z0-9 _] {4,15} $
  • パスワード(文字、数字を含むことができ、文字、6と18との間の長さで始まり、下線):^ [-ZA-Z] \ W {5,17} $
  • (大文字と小文字と数字の組み合わせが含まれている必要があり、特殊文字は使用できません、8-10の間の長さ)強力なパスワード:^(= *(= * [AZ]?。)+。(= * \ D?)。 [AZ])[-ZA-Z0-9] {8,10} $
  • (大文字と小文字と数字の組み合わせが含まれている必要があり、特殊文字が使用されてもよい、8~10の間の長さ)強力なパスワード:^(= *(= * [AZ]?。)+。(= * \ D?)。 [AZ])。{8,10} $
  • 日付フォーマット:^ \ dの{4} - \ dの{1,2} - \ dの{1,2}
  • $ | ^(?1 [0-2] 0 [1-9]):12ヶ月(01〜09および1〜12)の年
  • 31日(01〜09および1〜31)の月:^(?(0 [1-9])|((1 | 2)[0-9])| 30 | 31)$
  • マネーの入力フォーマット:
    1. 「分割」と「10000」と「万」ではない「10000.00」と「10,000.00」と::^ [1-9] [0-9] * $があり、私たちが受け入れることができるお金の4つの表現があります
    2. これは、そもそも0からの番号のいずれかを表すものではありませんが、それはまた、文字「0」が渡されていないことを意味し、私たちは次のような形式取る:^(0 | [1-9] [0-9] *)$を
    3. | - $ ^(?[1-9] [0-9] * 0):0〜0または数、我々はまた、マイナスがある先頭を許可することができますで始まっていません
    4. これは、0を表すことができるか、負の数0は、ユーザーが同様に0から始めましょうの始まりではありません。マイナス記号も削除、お金は負右することはできませんので。今、私たちは追加したいことかもしれない端数部分を説明することである:?([0-9] +)^ [0-9] + $
    5. [0-9] +([0-9]小数点の後、少なくとも1桁でなければならないことに留意しなければならないので、「10」が採用されていないが、「10」及び「10.2」が:. ^採用されています{2})$?
    6. 私たちは、あなたがあまりにも難しいと思うなら、それができる、小数点以下2後の規則を持っている必要があります([0-9] {1,2})^ [0-9] + $?
    7. これは、我々は[0-9] {1,3}([0-9] {3})*([^ :.ことができ、ユーザは、我々が考えコンマに続くだけ進数を記述することを可能にします。 0-9] {1,2})?$
    8. コンマ+3任意の数、コンマに続く1〜3桁は、むしろ必要以上、随意になる:^([0-9] + | [0-9] {1,3}([0-9 ] {3})*)([0-9] {1,2})?$
    9. 注意:これは、最終的な結果であり、「+」を感じる場合は、「*」代替が空の文字列がそれを受け入れることができます使用することができます忘れないでください(なぜだろうか?)最後に、削除機能を削除することを忘れないでください、バックスラッシュを使用した場合バー、一般的なエラーはここにあります
  • xml文件:^([a-zA-Z]+-?)+[a-zA-Z0-9]+\\.[x|X][m|M][l|L]$
  • 正規表現の漢字:[\ u4e00- \ u9fa5]
  • 2バイト文字:[^ \ x00- \ XFF](文字を含む)は、含まれた文字列の長さを計算するために使用することができます(ダブルバイト文字の長さ計2、ASCII文字が1カウントされます)
  • 発現のN空白行:\ n \ S *の\ rを(空白行を削除するのに使用することができます)
  • HTMLマークアップの正規表現:。?。?<(?\ S *)[^>] *> * | <* />(包括的空白文字の正規表現:^ \ sの* | \ sは* $または( ^ \ sの*)|、非常に有用な発現(\ S *の$)(空白文字はなどのスペース、タブ、改ページを含む行(の行末の先頭を削除するために使用することができます))
  • テンセントQQ:[1-9] [0-9] {4}(テンセント開始からQQ番号10000)
  • 中国郵便番号:[1-9] \ dの{5}(6桁のZIPコード中国)(\ D?)
  • IPアドレス:{3}(((:( 25 [0-5] | | 2 [0-4] \\ D [01] \\ D \\ D)\\???):25? [0-5] | 2 [0-4] \\ D |?[01] \\ D \\ d))は?

第四に、前面と背面の検証デモ

        IF((/^.*[\\/*:「?.. <> |] * $ /)テスト(txtName)){ 
            .. $( '#のtxtName')次()HTML(「タイトルを含めることはできません\\\ / *:?「<> |他の文字が' ); 
            falseに戻る; 
        }他{ 
            $( ' #txtName '..)次()HTML(' ' ); 
        }
// メールボックス検証
    パブリック 静的 ブールISEMAIL(文字列STR){ 
        文字列REGEX =「\\ W +([ - 。+] \\ + W)を* W \\ @ +([ - ] + \\ W)。* \\ \\ + W([ - ] \\ Wの+)* " ;
         リターンマッチ(REGEX、STR); 
    } 
    
    // 電話又は固定電話確認
    パブリック 静的 ブールisTelephone(文字列STR){ 
        文字列の正規表現は =" ^((D {0 \\ } -2,3- - D \\ {7,8})|(1 [34578] \\ {D} 9))$」。。 リターンマッチ(REGEX、STR); 
    } 
    
    // 郵便番号を確認し
    、パブリック 静的 ブールisPostCode(文字列をSTR){ 
        文字列REGEX = "^ [0-9] [0-9] {} $ 5" リターンマッチ(REGEX、STR); 
    } 
    
    // 検証し、ユーザー名と会社名の入力ボックスの一般的なその
    公衆 静的 ブールisCheckColumn(文字列STR){ 
        文字列REGEX = "^ [\ u4E00- \ _ u9FA5A-ZA-Z0-9] + $" ;
         リターンマッチ(REGEX、STR); 
    } 
    // 検証ブック・インターフェースを追加し、いくつかの入力ボックス<>入力することはできません
    パブリック 静的 ブールisCheckMediaColumn(文字列STR){ 
        文字列REGEX = "^ * [<>] * $を.." ;
         リターンマッチ(REGEX、STR); 
    } 
    // 検証ブック名入力ボックスの文字を追加するには、違法入ることができない
    公共の 静的な ブール{isCheckMediaName(文字列STRを) 
        文字列の正規表現を= "^ * [\\ / *:。\"?<> |]。* $ " ;
         リターンマッチ(正規表現、STR); 
    } 
    
            
    / ** 
    * @paramの正規表現
    *正規表現文字列
    * @paramのSTR 
    *一致する文字列
    * @returnをSTR満たす正規表現正規表現形式の場合、そうでない場合はfalseに、trueを返し、
     * / 
    プライベート 静的 ブールマッチ(文字列の正規表現、文字列str){ 
        模様パターン = Pattern.compile(正規表現)の、
        マッチャ整合 = Pattern.matcher(STR);
         戻りmatcher.matches(); 
    }

                 [ '<'、 '&LT;' ]、
                 [
'>'、 '&GT;' ] 
             ]、REG = '' ;
    VAR i = 0; I <replacedArr.length; iは++ ){ 
         REG = 新しい正規表現(replacedArr [I] [0]、 "G" )。
        キー = key.replace(REG、replacedArr [I] [1 ])。
    } 
    戻りキー。
}

 

おすすめ

転載: www.cnblogs.com/loong-hon/p/11124825.html