2 votes

Comment puis-je faire en sorte qu'une entrée de texte commence par le chiffre 9 ?

J'ai besoin d'une zone de texte qui commence par le chiffre 9, comment puis-je le faire ? La zone de texte n'accepte que des chiffres mais j'ai besoin qu'elle commence par le chiffre 9. J'ai essayé comme ceci mais ça ne marche pas.

$(document).ready(function () { 
            var $phone = $("#phone");
            $phone.mask('900000000', {reverse: false});
        });

1voto

Ryan Wilson Points 4742
$(function(){
   //get the input element to const
   const $phn = $('#phone');
   //add keydown event
   //if value is a length of 1 and code is backspace or delete return false
   //if length is longer than 1 and delete key is pressed, reset to just 9
   $phn.on('keydown', function(e){
       const code = e.which || e.keyCode;
       //keycode 8 = backspace, keycode 46 = delete
       if($phn.val().length === 1 && (code === 8 || code === 46)){
          return false;
       }
       else if(code === 46){
          $phn.val('9');
          placeCursor($phn);
       }
   });

   //initialize value to 9 and place cursor
   $phn.val('9');
   placeCursor($phn);

   //function to focus and place cursor in input box
   function placeCursor(input){
      $(input)[0].focus();
      $(input)[0].setSelectionRange($(input).val().length, $(input).val().length);
   }
});

<input type="text" id="phone" />
<script
  src="https://code.jquery.com/jquery-3.6.0.slim.min.js"
  integrity="sha256-u7e5khyithlIdTpu22PHhENmPcRdFiHRjhAuHcs05RI="
  crossorigin="anonymous"></script>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X