Contare i caratteri user e dominio

Shyson

Utente Attivo
19 Ago 2012
1.179
1
38
Se inizi con due @@ saltano i controlli
direi che si puo scartare questo script

avevi provato altre soluzioni?

Come ti dicevo, questo andrebbe bene ma se tolgo alert( output + '' ); e metto l'id, non va

PHP:
function contaEmail(suoemail) {
var output = '';
if(suoemail.indexOf('@')<0) {
output = suoemail.length > 5 ? 'Username: max 5 caratteri' : null;
} 
else {
var dominio = suoemail.split('@')[1];
output = dominio.length > 8 ? 'Dominio: max 8 caratteri' : null;
}
if(output.length != 0) { 
alert( output + '' );
}
}
 

Shyson

Utente Attivo
19 Ago 2012
1.179
1
38
Ciao,

partendo dal fatto che con javascript puoi colo controllare l'inserimento dei dati da parte dell'utente, l'unico modo per vedere se chi ha inserito la mail è esatta e inviarla con un link per confermare, se la mail è corretta, con il link gli attivi il servizio, se è errata non lo abiliti e il mailer demon ti invia la mail per indirizzo inesistente.

Se io mi trovo a testa con tutti quei controlli esco.

Per la mail fai tutto con la RegExp quandi caratteri prima della @ quanti sono validi secondo le specifice RFC822 e gli stampi solo "inserire un'indirizzo email valido".

Credo sia sufficiente.

E' solo un parere.


Valeria.

A me il controllo js serve solo per la lunghezza di user e dominio
 

Shyson

Utente Attivo
19 Ago 2012
1.179
1
38
Ciao,

partendo dal fatto che con javascript puoi colo controllare l'inserimento dei dati da parte dell'utente, l'unico modo per vedere se chi ha inserito la mail è esatta e inviarla con un link per confermare, se la mail è corretta, con il link gli attivi il servizio, se è errata non lo abiliti e il mailer demon ti invia la mail per indirizzo inesistente.

Se io mi trovo a testa con tutti quei controlli esco.

Per la mail fai tutto con la RegExp quandi caratteri prima della @ quanti sono validi secondo le specifice RFC822 e gli stampi solo "inserire un'indirizzo email valido".

Credo sia sufficiente.

E' solo un parere.


Valeria.

Dici che questo sarebbe sufficiente?

PHP:
function contaEmail() {
var val = document.forms.mioform1;
max=20
if (val.suoemail.value.length > max) {
val.suoemail.value = val.suoemail.value.substring(0,max);
document.getElementById('contaEmail').innerHTML = "Mail: max 20 caratteri";
} 
else {
document.getElementById('contaEmail').innerHTML = "";
}
 }
 

Vale2

Utente Attivo
28 Mag 2006
446
0
0
Livorno
Ciao,

perchè una espressione regolare non è in grado di controllare i caratteri inseriti prima e dopo la @ compresa la lunghezza.


V.
 

Vale2

Utente Attivo
28 Mag 2006
446
0
0
Livorno
Dici che questo sarebbe sufficiente?

PHP:
function contaEmail() {
var val = document.forms.mioform1;
max=20
if (val.suoemail.value.length > max) {
val.suoemail.value = val.suoemail.value.substring(0,max);
document.getElementById('contaEmail').innerHTML = "Mail: max 20 caratteri";
} 
else {
document.getElementById('contaEmail').innerHTML = "";
}
 }


controlli solo la lunghezza dei caratteri se basta per il tuo scopo.

V.
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
e mettergli 2 campi?
HTML:
<input type='text' name='user'/> @ <input type='text' name='dominio'/>
 

Shyson

Utente Attivo
19 Ago 2012
1.179
1
38
e mettergli 2 campi?
HTML:
<input type='text' name='user'/> @ <input type='text' name='dominio'/>
Non saprei...sto pensando se ne vale veramente la pena mettere quel codice e se potrebbe essere davvero utile quel controllo per l'utente, considerando che in base alle specifiche l'user deve avere una lungh. max 64 caratteri + @ e il dominio di 255 per un totale di 320.

Chi mai metterebbe una lunghezza simile?

Ma è anche vero che il dominio può essere anche un url web assoluto il quale può superare i 2000 caratteri.
 

Shyson

Utente Attivo
19 Ago 2012
1.179
1
38
Ciao,

riprendo discussione, usi una RegExp per validare una mail usa i quantificatori per delimitare es: quanti caratteri minimi devono essere inseriti prima della @

Valeria.
Potrei fare anche così, sto provando ma non trova il delimitatore a tutto il blocco prima della chiocciola

PHP:
(([A-Za-z0-9!#$%&'*+\/=?^_~`{|}](([A-Za-z0-9!#$%&'*+\/=?^_~`{|}]*[.]?[A-Za-z0-9!#$%&'*+\/=?^_~`{|}]+))*([-]?[A-Za-z0-9!#$%&'*+\/=?^_~`{|}]+)?(([A-Za-z0-9!#$%&'*+\/=?^_~`{|}]*[.]?[A-Za-z0-9!#$%&'*+\/=?^_~`{|}]+))*){0,5}@...
 
Ultima modifica:

Vale2

Utente Attivo
28 Mag 2006
446
0
0
Livorno
Potrei fare anche così, sto provando ma non trova il delimitatore a tutto il blocco prima della chiocciola

PHP:
(([A-Za-z0-9!#$%&'*+\/=?^_~`{|}](([A-Za-z0-9!#$%&'*+\/=?^_~`{|}]*[.]?[A-Za-z0-9!#$%&'*+\/=?^_~`{|}]+))*([-]?[A-Za-z0-9!#$%&'*+\/=?^_~`{|}]+)?(([A-Za-z0-9!#$%&'*+\/=?^_~`{|}]*[.]?[A-Za-z0-9!#$%&'*+\/=?^_~`{|}]+))*){0,5}@...

In che senso non trova, manca la parte finale della Reg, la @ sai dove si trova.
 

Shyson

Utente Attivo
19 Ago 2012
1.179
1
38
Vale, sai che faccio? Controllo solo la lunghezza dell'username e uso questo codice, ma a video mi scrive null

PHP:
// Conta lunghezza username
function contaUser(suoemail) {
var val = document.forms.mioform1;
var output = '';
max=5
if(suoemail.indexOf('@')<0) {
val.suoemail.value = val.suoemail.value.substring(0,max);
output = suoemail.length > max ? "Username: max 5 caratteri" : null;
document.getElementById('contaUser').innerHTML = (output + '');
} 
 }

onkeyup="contaUser(this.value);...
 

Shyson

Utente Attivo
19 Ago 2012
1.179
1
38
Ho modificato, penso che terrò questo, l'unica cosa che mi manca è fa sparire l'avviso quando si inserisce la chiocciola

PHP:
// Conta lunghezza username
function contaUser(suoemail) {
var val = document.forms.mioform1;
var output = '';
max=5
if(suoemail.indexOf('@')<0) {
val.suoemail.value = val.suoemail.value.substring(0,max);
output = suoemail.length > max ? "Username: max 5 caratteri" : '';
document.getElementById('contaUser').innerHTML = (output + '');
} 
 }
 

Shyson

Utente Attivo
19 Ago 2012
1.179
1
38
Ho modificato, penso che terrò questo, l'unica cosa che mi manca è fa sparire l'avviso quando si inserisce la chiocciola

PHP:
// Conta lunghezza username
function contaUser(suoemail) {
var val = document.forms.mioform1;
var output = '';
max=5
if(suoemail.indexOf('@')<0) {
val.suoemail.value = val.suoemail.value.substring(0,max);
output = suoemail.length > max ? "Username: max 5 caratteri" : '';
document.getElementById('contaUser').innerHTML = (output + '');
} 
 }

...ma ho risolto anche questo aggiungendo un else:

PHP:
// Conta lunghezza username
function contaUser(suoemail) {
var val = document.forms.mioform1;
var output = '';
max=5
if(suoemail.indexOf('@')<0) {
val.suoemail.value = val.suoemail.value.substring(0,max);
output = suoemail.length > max ? "&bull;&nbsp;&nbsp;Username: max 5 caratteri" : '';
document.getElementById('contaUser').innerHTML = (output + '');
}
 else {
document.getElementById('contaUser').innerHTML = "";
} 
 }

Ultima cosa che rimane da sistemare è che quando arrivo al limite max totale della mail e torno all'user, questo mi permette di inserire altri caratteri anche se ero al limite massimo.
 

Shyson

Utente Attivo
19 Ago 2012
1.179
1
38
Non riesco proprio a sistemare questa ultima cosa...ci siete ancora?
 

Shyson

Utente Attivo
19 Ago 2012
1.179
1
38
L'ho modificato ancora ma non risolvo

PHP:
// Conta lunghezza username
function contaUser(suoemail) {
var val = document.forms.mioform1;
max=5
if(suoemail.indexOf('@')<0) {
if(val.suoemail.value.length > max) {
val.suoemail.value = val.suoemail.value.substring(0,max);
document.getElementById('contaUser').innerHTML = "Username: max 5 caratteri";
}
 }
else {
document.getElementById('contaUser').innerHTML = "";
} 
 }
 
Ultima modifica:
Discussioni simili
Autore Titolo Forum Risposte Data
M Contare totale risultati tabella in un periodo di tempo PHP 5
A Contare gli elementi di un array PHP 13
maxnegri Contare sessioni aperte e creare condizione PHP 1
L contare record uguali in file csv PHP 4
B [MySQL] contare quante un oggetto e' presente MySQL 2
elpirata [RISOLTO][Mysql] Contare le occorrenze in un campo tipo varchar MySQL 2
P [PHP] Contare quante volte uno stesso id si ripete nella tabella PHP 12
P [PHP] Contare i mesi con timestamp. PHP 8
A Contare n° totale oggetti da mysql PHP 5
C Contare numero record uguali Database 3
asevenx [Javascript] [AngularJS] contare opzioni selezionate di una select in un elenco ng-repeat Javascript 0
G [ACCESS2007]: contare li ultimi record con lo stesso valore in un campo, finchè il valore non cambia MS Access 2
xone [PHP] Contare numero dei giorni tra data_in e data_out PHP 11
zorro [PHP] Contare i record di una tabella PHP 6
F Contare le righe con php ad oggetti MySQL 0
asevenx Contare numero di righe in un form dinamico Javascript 5
F Miglior metodo per contare le righe di una query MySQL 2
S Contare valori uguali in una colonna PHP 2
N Contare post MySQL 2
L contare nodi figli di un determinato nodo madre XML 0
H Contare file presenti nella pagina PHP 3
S [RISOLTO]php contare numero delle query PHP 1
L Contare determinati valori che si ripetono in una tabella per un detemrinato ID MySQL 2
Monital Contare il numero di righe con php5 PHP 10
M contare record db con valore specifico PHP 1
D Contare numero div con una determinata classe Javascript 2
criric Contare le settimane di un mese Snippet PHP 3
nim contare record uguali in tabella PHP 10
anthares Contare record in tabella secondo certe condizioni PHP 21
Monital Contare valori uguali di un array e dividerli in una stringa PHP 12
nim contare frasi che si ripetono PHP 10
R Contare il numero di click su un link PHP 2
A contare iniziali dei nomi Java 3
G contare e sommare dopo JOIN Database 8
M non contare gli accessi dal tuo pc Supporto Mr.Webmaster 1
S Come contare i Download file .zip su html HTML e CSS 10
F Caratteri invisibili XML 4
K [PHP] Aggiungere caratteri ad una stringa in base alla lunghezza della stessa PHP 2
B Non riesco a trovare i cognomi con i caratteri speciali in Access (Microsoft 365) MS Access 0
P Codifica caratteri speciali mysql php PHP 0
Z Caratteri speciali irriconoscibili PHP 1
R Tutto su utf-8 ma ancora problemi con i caratteri speciali in mysql MySQL 1
A eliminare caratteri speciali mettendo uno spazio PHP 0
A eliminare caratteri diacritici con codice ascii PHP 4
MarcoGrazia Eliminare in automatico i caratteri spuri all'inizio e alla fine di una stringa Snippet PHP 0
K [javascript] Tecnica per rilevare celle contenenti caratteri ricevute in dinamico Javascript 1
M Matrice di caratteri ( inseriti da tastiera ) ordinati in ordine alfabetico C/C++ 3
M [PHP] Troncare caratteri PHP 1
A [PHP] caratteri speciali PHP 14
A [PHP] Modifica caratteri di una query Oracle SQL PHP 0

Discussioni simili