web-dev-qa-db-fra.com

Regex pour numéro de portable avec ou sans code pays

J'ai besoin de valider un champ de texte dans mon formulaire d'inscription pour lequel je veux un regex. 

La zone de texte acceptera un numéro de téléphone mobile tel que 9999999999 (10 chiffres - commençant par 7, 8 ou 9.) tout autre comme +110 ou +52), ou il peut aussi écrire 09999999999 (0 en premier pour son pays)

Ici, l'utilisateur a 3 choix, 

  1. ajout du numéro de portable avec le code du pays 
  2. tout simplement sans code pays ni 0 préfixé
  3. Avec un préfixe zéro dans le numéro de téléphone.

Bien que cela ne soit pas obligatoire, ma page est en asp.net et j'utilise un validateur d'expressions régulières intégré.

8
Cyberpks

D'après ce que je peux voir, cela devrait fonctionner. Le préfixe est facultatif et est stocké dans le premier groupe de correspondances, le numéro principal entrant dans le deuxième groupe.

^([0|\+[0-9]{1,5})?([7-9][0-9]{9})$

Mais si vous pouviez nous donner quelques cas de test pour chacun, cela nous aiderait à vous donner une regex fonctionnelle pour ce que vous voulez.

Props à SchlaWiener dans les commentaires pour la limite correcte de la longueur du code de pays.

10
Joe

Expression rationnelle simple pour la validation du numéro de téléphone mobile indien: /^[0]?[789]\d{9}$/

Support 08888888888 (Zéro ajouté) 7878787878,8634456876,9545559877 (tout numéro de mobile précédé de 7,8,9 et suivi de 9 autres chiffres)

Fonction complète

function mobileNumber(){

     var Number = document.getElementById('YOUR ELEMENT ID').value;
     var IndNum = /^[0]?[789]\d{9}$/;

     if(IndNum.test(Number)){
        return;
    }

    else{
        $('#errMessage').text('please enter valid mobile number');
        document.getElementById('profile_telephoneNumber').focus();
    }

}
8
Neel Shah

Vous pouvez également le faire en utilisant une manipulation de chaîne. Cochez cette link

str = "+919999999999"
cc = str.split(str.slice(-10))[0]

Le résultat sera +91

1
Jacob George

Cela devrait faire l'affaire:

^(\+[\d]{1,5}|0)?[7-9]\d{9}$

http://fiddle.re/av1k

1
Jürgen Steinblock
if(document.getElementById('mobile_number').value != ""){

       var y = document.getElementById('mobile_number').value;
       if(isNaN(y)||y.indexOf(" ")!=-1)
       {
          alert("Invalid Mobile No.");
          document.getElementById('mobile_number').focus();
          return false;
       }

       if (y.length>10 || y.length<10)
       {
            alert("Mobile No. should be 10 digit");
            document.getElementById('mobile_number').focus();
            return false;
       }
       if (!(y.charAt(0)=="9" || y.charAt(0)=="8"))
       {
            alert("Mobile No. should start with 9 or 8 ");
            document.getElementById('mobile_number').focus();
            return false
       }
 }

et vous pouvez également voir un lien plus détaillé cliquez ici

http://p2p.wrox.com/javascript-how/64920-validation-phone-number-mobile-number.html

0
user1697238

Essayez de suivre:

function validateMobile(mobilenumber) {   
    var regmm='^([0|+[0-9]{1,5})?([7-9][0-9]{9})$';
    var regmob = new RegExp(regmm);
    if(regmob.test(mobilenumber)){
        return true;
    } else {
        return false;
    }    
}
0
sagar varade