webForumDet fria alternativet

Email validering ?

39 svar · 903 visningar · startad av Pellefant

PellefantMedlem sedan maj 20023 372 inlägg
#1

Hejsan! :)

Har denna, som hör att det krävs ett @.
Går det att skriva om den så att det även krävs något framför @:et, samt något efter och en punkt samt något efter punkten, så att man måste skriva som en riktig email.

såhär alltså: x@x.x

function formvalidation(thisform){
if (validateName(thisform.nam,"Enter your name please!")==false){
 thisform.nam.focus();
 return false;
}

if (validateEmail(thisform.email, "You have to write a valid E-mail address!")==false){
 thisform.email.focus();
 return false;
}
return true;
}
</script>
colioneMedlem sedan juni 20014 421 inlägg
PellefantMedlem sedan maj 20023 372 inlägg
#3

Tack för tipset. jojoxx script verkar väldigt bra.

PellefantMedlem sedan maj 20023 372 inlägg
#4

Försöker få jojoxx script att fungera till det jag redan har, dvs så att det kollar att "nam"(textfälten heter nam och email) textfältet inte är tomt heller. Men det går inget vidare, nu reagerar inte scriptet alls om någon av rutorna är tomma. :(

<script>
function validateName(entered, alertbox){
if (entered.value==null || entered.value=="" || entered.value=='\n' ){
 alert(alertbox);
 return false;}
return true;
} 

function formvalidation(thisform){
if (validateName(thisform.nam,"Enter your name please!")==false){
	thisform.nam.focus();
	return false;
}

/* Detta script finns att hämta på [url]http://www.jojoxx.net[/url] och
   får användas fritt så länge som dessa rader står kvar. */

String.prototype.isValidEmail = function(){
	return !!this.match(/^([a-zA-Z0-9]{1}([a-zA-Z0-9|.|-|_]*)[a-zA-Z0-9]{1})@([a-zA-Z0-9]{1}([a-zA-Z0-9|.|-|_]*)[a-zA-Z0-9]{1})\.([a-zA-Z]{2,4})$/)
}

function validateForm() {
if (!document.f.email.value.isValidEmail()) {
	alert("You have to write a valid E-mail address!");
	return false;
}else{
	return true;
	}
}
</script>

och här anropas javasscriptet:
<FORM METHOD="POST" ACTION="dlpage2.php" onsubmit="return formvalidation(this)">
JojoxxMedlem sedan juni 20004 308 inlägg
#5
String.prototype.isValidEmail = function(){
	return !!this.match(/^([a-zA-Z0-9]{1}([a-zA-Z0-9|.|-|_]*)[a-zA-Z0-9]{1})@([a-zA-Z0-9]{1}([a-zA-Z0-9|.|-|_]*)[a-zA-Z0-9]{1})\.([a-zA-Z]{2,4})$/)
}
function formvalidation(obj) {
	if (!obj.email.value.isValidEmail()) {
		alert("You have to write a valid E-mail address!");
		return false;
	} else if (!obj.nam.value){
		alert("Enter your name please!")
		return false;
	}else{
		return true;
	}
}
PellefantMedlem sedan maj 20023 372 inlägg
#6

Tack!!!

Inte varje dag man får hjälp av den som gjort scriptet. :)

PellefantMedlem sedan maj 20023 372 inlägg
#7

Hej! :)

Har hittat ett fel i scriptet, för addresser som denna:

test@test-test.se
eller tex
aaa@bbb-cccc.se

(dvs med ett "-" som ovan så accepterars det inte, fast det är en korrekt email address.

Vet någon möjligtvis hur man kan lösa det?

Peter SMedlem sedan dec. 20025 483 inlägg
#8
String.prototype.isValidEmail = function(){
	return !!this.match(/^([a-zA-Z0-9]{1}([a-zA-Z0-9|.|-|_]*)[a-zA-Z0-9]{1})@([a-zA-Z0-9]{1}([a-zA-Z0-9\.\-\_]*)[a-zA-Z0-9]{1})\.([a-zA-Z]{2,4})$/)
}

:)

JojoxxMedlem sedan juni 20004 308 inlägg
#9

Ja just det. Tanken var att det skulle innefatta även "-" men jag escape'ade inte ordentligt. Men då fixar vi väl så man kan använda te-st@test-test.se också :)

String.prototype.isValidEmail = function(){
	return !!this.match(/^([a-zA-Z0-9]{1}([a-zA-Z0-9\.\-\_]*)[a-zA-Z0-9]{1})@([a-zA-Z0-9]{1}([a-zA-Z0-9\.\-\_]*)[a-zA-Z0-9]{1})\.([a-zA-Z]{2,4})$/)
}
PellefantMedlem sedan maj 20023 372 inlägg
#10

Tackar och bockar :)

P.s Finns det några slags mail som blockeras nu, som rent teoretiskt är ok?

Peter SMedlem sedan dec. 20025 483 inlägg
#11

E-postadresser är väldigt svåra att validera eftersom det inte verkar finnas någon standard ( om någon vet var en sådan finns, får denne gärna upplysa mig ) som säger att "så här får en e-postadress se ut och så här får den inte se ut".

För att svara på frågan så kan även e-postadresser innehålla apostrofer, samt vara baserade på ip-adresser ( har jag för mig iallafall ).

:)

PellefantMedlem sedan maj 20023 372 inlägg
#12

Har man en email address med apostrof så tycker jag att man får skylla sig själv. §e

Peter SMedlem sedan dec. 20025 483 inlägg
#13

Tungt för personen ifråga då om denne faktiskt råkar ha ett namn innehållandes apostrof(er) ;)

john.o'brien@...

:)

JojoxxMedlem sedan juni 20004 308 inlägg
#14

RFC 822 tar bara upp a-z_.-

Har lite brådis, återkommer senare :)

Peter SMedlem sedan dec. 20025 483 inlägg
#15

Dessa dokument var inte de mest lättolkade ;)

Dock; efter att gått igenom RFC2822 uppfattar jag det som att följande tecken ( utöver a-z och 0-9 ) är tillåtna:

"!"    "#"
"&"    "%"
"*"    " ' "
"-"    "+"
"="    "/"
"^"    "?"
"`"    "_"
"|"    "{"
"~"    "}"
"$"    "."

Men som sagt, dokumenten är enligt mig ganska svårtolkade så jag förbehåller mig rätten för eventuella missar ;)

:)

JojoxxMedlem sedan juni 20004 308 inlägg
#16

Jag skulle tolka det likadant, även om det var efter en del funderande, så låter det mest logiskt. Däremot tror jag det är långt ifrån alla mailservrar som verkligen klarar av att hantera det.

roadyMedlem sedan jan. 2002473 inlägg
#17

tänkte man kunde likaväl fortsätta här...
har testat Jojoxx kod för själva email valideringen, funkar kanon men inte till 100%.

själv så tar den inte min mailadress roady_@rocketmail.com
klagar på _

någon fena som kan svänga runt rabballderna:

return !!this.match(/^([a-zA-Z0-9]{1}([a-zA-Z0-9\.\-\_]*)[a-zA-Z0-9]{1})@([a-zA-Z0-9]{1}([a-zA-Z0-9\.\-\_]*)[a-zA-Z0-9]{1})\.([a-zA-Z]{2,4})$/)
JojoxxMedlem sedan juni 20004 308 inlägg
#18

Det är by-design, men det (din email) är ju trots allt inte "fel". ("_._@telia.com" kändes bara inte rätt :) )

String.prototype.isValidEmail = function(){
	return !!this.match(/^([a-zA-Z0-9\_\-]{1}([a-zA-Z0-9\.\-\_]*)[a-zA-Z0-9\_-]{1})@([a-zA-Z0-9]{1}([a-zA-Z0-9\.\-\_]*)[a-zA-Z0-9]{1})\.([a-zA-Z]{2,4})$/)
}
PellefantMedlem sedan maj 20023 372 inlägg
#19

Vad betyder "by-design" ? :)

JojoxxMedlem sedan juni 20004 308 inlägg
#20

Att en funktions beteende snarare är avsiktligt än en bug.

140 ms totalt · 3 externa anrop · v20260731065814-full.3ab8d573
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
137 ms — hämta tråd, inlägg och bilagor (db)