Funzione di controllo su un form, comportamento inaspettato

gandalf1959

Utente Attivo
21 Nov 2013
208
1
18
Buongiorno a tutti,
premetto che javascript non è esattamente il mio forte...
Ho un form che mi permette di inserire o un codice lezione o un indirizzo mail per poi eseguire una ricerca in un db.
Voglio controllare che nella casella del codice lezione vengano inseriti solo numeri (e qui funziona) e che se viene inserita una mail questa sia formalmente corretta.
Ho fatto così: nel form per il campo relativo alla lezione:
Codice:
<input name="idlezione" type="text" size="5" onBlur="isnum(this)" />
e questa è la funzione corrispondente:
Codice:
function isnum(obj) {

if (isNaN(obj.value) || parseInt(obj.value)<0 || parseInt(obj.value) > 9999)

{

alert('Nel campo è possibile immettere solo numeri!');
obj.value="";
obj.focus();
}

}
E qui tutto bene.
Poi l'altro campo:
Codice:
<input name="mailcliente" type="text" size="50" onBlur="controllamail(this)" />
Funzione corrispondente:
Codice:
function controllamail(email) {

	var email_reg_exp = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/;

	if(!email_reg_exp.test(email)){
		alert("ATTENZIONE: La mail inserita non è corretta!");
		document.modulo.mailcliente.select();
		return false;
		}
}
Quando inserisco una mail in questo campo si attiva l'alert anche se la mail è formalmente corretta.
Dove sbaglio?
Grazie per i suggerimenti
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
anche se il js è per me un po' ostico, prova (al massimo non funziona)
Codice:
var email_reg_exp = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.]{2,})+\.([A-Za-z]{2,})$/;
poi in consiglio se è importante fai il controllo anche lato server, js può essere bypassato
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
dimenticavo, se stai lavorando in html5 puoi usare senza js
HTML:
<input type="number" name="idlezione" min="0" max="9999" size="5">
<input type="email" name="mailcliente" size="50">
anche se serve sempre una verifica lato server
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
prova a d aggiungere
Codice:
if(!email_reg_exp.test(email)){
		alert("ATTENZIONE: La mail inserita non è corretta!");
		document.modulo.mailcliente.select();
		return false;
		}else{return true;}
 

gandalf1959

Utente Attivo
21 Nov 2013
208
1
18
Visto che non se ne viene a capo, per ora ho eliminato il controllo sulla mail.
Comunque se a qualcuno viene in mente qualcosa...
Alla prossima e grazie
 
Discussioni simili
Autore Titolo Forum Risposte Data
Emix Funzione crea barcode e controllo... PHP 12
D Problema con funzione preg_match() per controllo email PHP 2
Lino80 [Retribuito] Cerco programmatore php per modifica/inserimento funzione/valori da un plugin importer wordpress Offerte e Richieste di Lavoro e/o Collaborazione 0
R Variabile non risconosciuta dentro una funzione PHP 1
P Implementazione funzione FileReader Javascript 0
P Funzione copia multipla. Javascript 2
P Funzione jQuery Ajax invio file a php jQuery 1
A Funzione read URL PHP 6
F Funzione Glob - ricerca file contenente una parola PHP 1
A Mail con funzione mail() riconosciute come spam PHP 9
M Utilizzare la funzione mysql_num_rows() in PHP 5 PHP 3
A funzione iconv () non mi funziona PHP 4
D Come usare funzione php PHP 6
Y verificare condizione dopo esecuzione della funzione Programmazione 0
IClaude Funzione Javascript Javascript 8
A Funzione share come modificarla Social Media Marketing 0
L funzione onclik con seno e coseno non va Javascript 3
L funzione onclick non va Javascript 26
G modifica corretta funzione da eregi() a preg_match() PHP 3
Shyson Modificare funzione php PHP 15
L pdo (stampare un valore con ritorno a funzione) PHP 0
elpirata Funzione conversione da minuti in ore Javascript 0
@ [MS Access] Funzione Iif..is null... Database 0
F Funzione deprecata in PHP7 PHP 1
G [MS Access] Funzione ARROTONDA non definita nell'espressione MS Access 1
max1974 [Javascript] Funzione Errata procedura Javascript 2
pjtertdj Visualizzazione dati in php da mysql con funzione matematica in javascript PHP 1
Domenico_Falco1 Associare una stessa funzione get a due eventi a.click con classi differenti Ajax 6
psicomia Gestione funzione in javascript in tabella richiamare"textarea" valori preimpostati in "select" Javascript 2
L Problema funzione mail() PHP PHP 3
elpirata [Javascript] Lo script alle volte funzione altre volte no Javascript 0
V [Visual Basic] Richiamare funzione su modulo per restituire list Visual Basic 0
R [Photoshop] funzione colore automatico Photoshop 0
maxnegri [PHP]Funzione di calcolo prezzo di una camera in un range di date PHP 62
L [PHP] problema count messo in una funzione. PHP 1
Monital funzione php si ripete due volte PHP 6
GiErre [PHP] [HTML] Disabilitare un link in funzione della piattaforma PHP 7
Monital Funzione php e campo database come variabile PHP 6
M Recuperare ID e usarlo in funzione jQuery 2
M PHP - Funzione non e scrive il risultato PHP 3
R [Javascript] Rendere una funzione sempre visibile Javascript 2
M funzione mysql che ritorna i microsecondi a partire dal 1-1-1970 MySQL 3
batmanLF [MySQL] Problema funzione SUM MySQL 1
F [PHP] La funzione setcookie PHP 0
F [Photoshop] sovrapporre due immagini usando funzione batch Photoshop 0
otto9due Capire la funzione del parametro event passato alla funzione.. jQuery 1
A [Javascript] tabella dinamica e onchange su funzione Javascript 1
M Problema con connessione MySqli e funzione PHP 2
C [RISOLTO][PHP] Funzione ONclick PHP 14
A [PHP] Problema invio mail con funzione mail() PHP 3

Discussioni simili