2016-05-25 16 views
1

jsmaskプラグインを使用して電話番号をマスクしています。 要件は、それはそれは私がこの $('#Telephone').mask('+0000000 000 000 0000', { reverse: true }); を試してみました電話番号のカスタムマスク

の間にスペースを持つことができ、開始

  • で、オプションの+を持つことができますが、それはオプションのプラスを受け入れるaintの
    1. です。 inbuilt形式がありますか、それともカスタム形式がありますか? アドバイスしてください。

  • 答えて

    0

    これは不可能です。

    オプションのパラメータは、入力の最後にのみ追加できます。

    彼らはGithubでオープンプルリクエストを持っています。

    hereで確認できます。

    0

    次のコードが動作しています。試してみることができます。solution in JSfidllerを作成しました。もし望めばそれをチェックしてください。 HTML:

    <form id="example-form" name="my-form"> 
        <label>Phone number:</label><br /> 
        <input id="phone-number" name="phone-number" type="text" maxlength="21" placeholder="+XXXXXXX XXX XXX XXXX" /><br /><br /> 
        <input type="button" value="Submit" /> 
    </form> 
    

    スクリプト:

    $('#phone-number', '#example-form') 
    
         .keydown(function (e) { 
          var key = e.charCode || e.keyCode || 0; 
          $phone = $(this); 
    
          // Adding blankspace in 9th, 13th and 17th position. 
    //Change it according to your need 
          if (key !== 8 && key !== 9) { 
           if ($phone.val().length === 8) { 
            $phone.val($phone.val() + ' '); 
           } 
           if ($phone.val().length === 12) { 
            $phone.val($phone.val() + ' '); 
           }   
           if ($phone.val().length === 16) { 
            $phone.val($phone.val() + ' '); 
           } 
          } 
    
          // Allow numeric number and tab, backspace, delete keys only. 
    //Change it according to your need 
          return (key == 8 || 
            key == 9 || 
            key == 46 || 
            (key >= 48 && key <= 57) || 
            (key >= 96 && key <= 105)); 
         }) 
    
         .bind('focus click', function() { 
          $phone = $(this); 
    
          if ($phone.val().length === 0) { 
           $phone.val('+'); // as your phone number start with '+' 
          } 
          else { 
           var val = $phone.val(); 
           $phone.val('').val(val); // Ensure cursor remains at the end 
          } 
         }) 
    
         .blur(function() { 
          $phone = $(this); 
    
          if ($phone.val() === '+') { 
           $phone.val(''); // if somebody type '+' it will be vanish 
          } 
         });