2016-06-29 8 views
2

私は、プレフィックス検証付き検証電話番号のコードをいくつか持っています。最初の桁から最大4桁まで検証したいと思います。例:正規表現4桁検証、1桁ずつ検証

最初の桁
0 =>有効
1-9 =>無効

二桁
8 =>有効
1-7 & 9 =>無効

3桁目
1 =>有効
2 =>有効
3-9 =>有効な

4桁
7 =>有効な
8 =>有効な
9 =>有効な
1-6 =>無効

は正規表現でそのように有効にそれは可能ですか?

私は、正規表現コード

/^08(17|18|19|31|32|33|38|59|77|78)[0-9]{0,8}$/ 

ではなく、最初の数字から検証しています。

<div class="container"> 
     <div style="width:601px; height: 487px;position: fixed;"> 
      <div style="background-image: url(xlimages/20160614_XL_elemenVisual_-02_cropped.png); background-size: 600px 563px;"> 
      <div style="height:563px;"> 
       <center> 
<h2 style="color: white; padding-top: 32px; font-size: 50px; font-family: "Gotham Bold";"><b>Masukkan No. XL/Axis</b></h2> 
         <form action="<?php echo $_SERVER[PHP_SELF]; ?>" method="POST"> 
          <div style="margin-top:70px;"> 
           <div class="input-control"> 
            <br/> 
            <input type="text" name="msidn" id="jkeyboard" onlick="$('#pwd').replaceSelection("", true);" min="1" style="font-weight: bold; width:500px; height: 70px; border-color:#1ba1e2; color: #1ba1e2; font-size: 30px; text-align: center; line-height: 75px;" required> 
           </div> 
           <input type="hidden" name="cmd" value="cek"><br/><br/><br/><br/><br/><span id="spnPhoneStatus"></span> 
           <div style="margin-top: 190px;"><b> 
<input type="submit" onclick="document.getElementById('sound1').play();" name="sbm" value="Lanjut" style="margin-bottom: 6px;background: #1ba1e2; border-color: #1ba1e2; height: 70px; font-weight: bold; margin-left:0px; width:280px; font-size: 30px;" class="button primary"> 
           </b><br/><br/><br/> 
           </div> 
          </div> 
         </form> 
       </center> 
       </div> 
      </div> 
     </div> 
    </div> 

、ここでは私のjavascriptのコードです:

<script> 
$(document).ready(function() { 
    $('#jkeyboard').blur(function(e) { 
    if (validatePhone('jkeyboard')) { 
     $('#spnPhoneStatus').html('Nomor Yang Anda Masukkan No. XL/Axis'); 
     $('#spnPhoneStatus').css('color', 'green'); 
    } else { 
     $('#spnPhoneStatus').html('Nomor Yang Anda Masukkan Bukan No. XL/Axis'); 
     $('#spnPhoneStatus').css('color', 'red'); 
    } 
    }); 
}); 

function validatePhone(jkeyboard) { 
    var a = document.getElementById(jkeyboard).value; 
    var filter = /^08(17|18|19|31|32|33|38|59|77|78)[0-9]{0,8}$/; 
    if (filter.test(a)) { 
    return true; 
    } else { 
    return false; 
    } 
} 

</script> 
+0

問題を解決するための取り組みを示すコードを追加してください。 –

+0

正規表現が最初の桁から検証されていないということは何を意味しますか? –

+0

@ShyamBhimaniお待ちください私の投稿を編集します –

答えて

2

bobble bubble の組み合わせのおかげで、これは最終正規表現です:

^0([8]([12]([789]([0-9]{0,8}))?)?)?$ 
1

それは私の問題のためbobblebubble、これは仕事の正規表現のために、THX
/^0(?:8(?:[12][789]?)?)?$/

解決しています。ここ

は私のPHPコードです、私を助けてください