Convalida Indiano phonenumber in applicazione windows form utilizzando .net c#?

Sto sviluppando un’applicazione windows form in .net c#, Tutti, vorrei sapere come convalidare l’Indiano, numero di telefono, se un utente inserisce in una casella di testo.

  • non è stato specificato come questo telefono è formato, e non scrivere in c# in tag. la domanda è troppo vaga.
  • vedi che c’ho scritto in c# in questione.
  • È possibile utilizzare Regex
  • collegare un modem e comporre il numero…. solo scherzando, cosa che si desidera convalidare? che il formato non è corretto – non si desidera includere extenstions, il codice paese ecc, è necessario essere un po ‘ più specifico
  • incluso il codice paese solo
  • per esempio: la casella di testo dovrebbe accettare il numero come questo (+919821808807).

InformationsquelleAutor Zai Khan | 2012-03-01

 

5 Replies
  1. 1

    Si può fare uso di espressioni Regolari
    ad esempio,

    Regex rx = new Regex(@"^((\+){0,1}91(\s){0,1}(\-){0,1}(\s){0,1}){0,1}9[0-9](\s){0,1}(\-){0,1}(\s){0,1}[1-9]{1}[0-9]{7}$");

    e che è possibile utilizzare rx.IsMatch per convalidare la stringa di input.

    • Grazie Dipesh stata utile
    • E se si dispone di stringa con il valore “+31(0)12-1234567”. Questa è una notazione corretta di un numero di telefono. Come hai potuto convalidare con Regex? Ho provato questo: phonePattern = new Regex(@”\+\d{3}?(\0)\d*\-\d*); che Cosa ho sbagliato?
  2. 1

    il formato standard di Indiana numero di telefono cellulare +91 (codice del paese), seguito da 10 cifre.

    +91 XXXXXXXXXX

    solo verificare se questo è seguito. se la sua una terra numero di telefono, il controllo è difficile. oppure-è potrebbe ottenere siti esterni, ai quali è possibile convalidare il numero per voi.

    Tutto quello che puoi fare è controllare il codice del paese per una corrispondenza esatta. poi il resto sono tutte cifre e c’è di 10 di loro. altri caratteri non ammessi. In india, noi non lo facciamo noi non lo uso – per separare tra le cifre

    • Sì! Che è stata una fantastica soluzione!
    • grazie! e se si è sicuri del paese, perché non rigido codice +91?
    • Ci sono modi più semplici come la limitazione della casella di testo i caratteri di 10 etc. Controllare tutte le espressioni regolari di significato per il numero di telefono di convalida
    • certo ora, È stato molto utile a voi. Ora sto lavorando su ur data soluzione.
    • Gentilmente dare un voto positivo o accettare risposte utili!
  3. 1

    In c# avete bisogno di una regex che controlla +91, seguito da 10 cifre

    può anche essere la pena di verificare per 0091, seguito da 10 cifre

    MODIFICA

    solo per completezza si segnala il seguente farebbe (\+91|0091)\d{10}

    • Grazie per il vostro aiuto,
  4. 1

    Sistema.Di testo.RegularExpressions.Regex expr;

        public bool email(string email)
        {
            expr =new  Regex(@"^[a-zA-Z][\w\.-]{2,28}[a-zA-Z0-9]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$");
            if (expr.IsMatch(email))
            {
                return true;
            }
            else return false;
        }
        public bool phone(string no)
        {
            expr = new Regex(@"^((\+){0,1}91(\s){0,1}(\-){0,1}(\s){0,1}){0,1}9[0-9](\s){0,1}(\-){0,1}(\s){0,1}[1-9]{1}[0-9]{7}$");
            if (expr.IsMatch(no))
            {
                return true;
            }
            else return false;
        }
  5. 1

    Ho provato tutti i metodi di cui sopra, non ha funzionato per Me… Così ho fatto proprio Codice:-

    Funzionerà di SICURO:

    private void btnValidatePhoneNumber_Click(object sender, EventArgs e)
        {
            Regex re = new Regex("^9[0-9]{9}");
    
            if(re.IsMatch(txtPhone.Text.Trim()) == false || txtPhone.Text.Length>10)
            {
                MessageBox.Show("Invalid Indian Mobile Number!!");
                txtPhone.Focus();
            }
    
        }

    vota se vi piace! 🙂

Lascia un commento