Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 19
  1. #1
    Utente di HTML.it L'avatar di agenti
    Registrato dal
    Feb 2002
    Messaggi
    2,427

    validare numero cellulare

    codice:
    if (!document.info2.cell.value.match(/^((\+|00)?39\.)?3\d{2}\.\d{6,7}$/))
    	{
    		alert('Sono consentiti solo numeri di cellulari');
    		document.info2.cell.focus()
    	return false;
    	}
    con questa istruzione provo a validare un campo:

    ho provato con un cell standard vodafone ( il mio)
    scrivendo:
    347xxxxxxx
    0039347xxxxxxx
    +39347xxxxxxx

    in poche parole per questa regexp il telefono è sempre errato.

  2. #2
    perchè quella regexp vuole un punto dopo il prefisso internazionale e dopo quello dell'operatore..

    prova con: /^((\+|00)?39)?3\d{2}\d{6,7}$/


  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    la tua RegExp richiede che ci metti un punto tra il prefisso internazionale (che deve iniziare sempre per 00) e il resto e tra il "prefisso" e il numero.
    Chiaramente e` una libera interpretazione di come deve essere un numero di cell, che io non condivido per nulla.

    Prova con questa RegExp:
    /^((00|\+)39[\. ]??)??3\d{2}[\. ]??\d{6,7}$/
    Il punto puoi ancora metterlo, o anche uno spazio, ma non e` obbligatorio.
    Il 00 iniziale puo` essere sostituito da +
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  4. #4
    Utente di HTML.it L'avatar di agenti
    Registrato dal
    Feb 2002
    Messaggi
    2,427
    perfetta grazie...

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    8
    E se invece volessi permettere l'inserimento di uno o più numeri di telefono?
    Ad esempio dovrei poter permettere:
    +393351234567
    +393351234567,+393481234567
    +393351234567,+393481234567,+393201234567

    Grazie in anticipo

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Ecco una bozza di come potrebbe essere:
    codice:
    /^((00|\+)39[\. ]??)??3\d{2}[\. ]??\d{6,7}([\,\;]/^((00|\+)39[\. ]??)??3\d{2}[\. ]??\d{6,7})*$/
    Forse si puo` fare con qualche altro accorgimento, ma ora sono un po' arrugginito.

    Questa dovrebbe essere valida per i tuoi scopi. Come separatore puoi usare la virgola o il puntoevirgola; se ne adoperi altri si puo` modificare.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    8
    Grazie Mich_, l'ho provata ma cerdo ci sia un errore dopo la validazione della virgola e del punto e virgola, è come se la stringa si interrompesse e i numeri così come li ho indicati non passano il controllo.

    I caratteri /^ non indicano l'inizio della regex?

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Hai ragione. La seconda volta il /^ va tolto.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  9. #9
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    8
    Scusa per la pignoleria ma non riesco a personalizzare per accettare anche altri prefissi internazionali.
    Ad esempio dovrei poter accettare:
    +3612312345
    oppure
    +393471234567,+39339123456,+39320123456

    Grazie ancora!

  10. #10
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    prova cosi:
    codice:
    /^((00|\+)\d{2}[\. ]??)??3\d{2}[\. ]??\d{6,7}([\,\;]((00|\+)\d{2}[\. ]??)??3\d{2}[\. ]??\d{6,7})*$/
    ho sostituito 39 con \d che equivale a 0-9 se non vuoi che sia disponibile lo zero puoi provare con [1-9 o il range numerico che vuoi 2-8, 3-9, 2-6, etc...] {2} prefisso composto da due numeri puoi toglierlo o modificarlo a piacere se vuoi un range min > max {2,4}
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.