/ Forside / Teknologi / Udvikling / Java Scripts / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java Scripts
#NavnPoint
molokyle 5410
Klaudi 2799
smorch 2439
kim 1360
Harlekin 1134
bentjuul 984
gibson 800
severino 695
Random 675
10  konsulent.. 626
Validere form
Fra : Frederik Østeraa


Dato : 23-08-03 21:04

Hejsa Gruppe.

Kan en af jer hjælpe mig med et script, der skal bruges til at validere at
en bruger har indtastet en gyldig email adresse.

Jeg ved godt at man ikke kan tjekke om en specifik email adresse findes,
men det jeg gerne vil have er et script der tjekker at:
Der er et @ i adressen
Der er et . i adressen
Der er mindst 7 tegn i adressen.
Der ikke er brugt æ, ø, eller å i adressen.

Hvis det er muligt ville det være super, ellers kan et script der tjekker
for @ og mindst 7 tegn også rigtigt godt bruges :)

Mvh, og på forhånd tak.
Frederik Østera



 
 
Lasse Reichstein Nie~ (23-08-2003)
Kommentar
Fra : Lasse Reichstein Nie~


Dato : 23-08-03 21:51

"Frederik Østeraa" <frederik@oesteraa.dk> writes:

> Kan en af jer hjælpe mig med et script, der skal bruges til at validere at
> en bruger har indtastet en gyldig email adresse.

> Jeg ved godt at man ikke kan tjekke om en specifik email adresse findes,
> men det jeg gerne vil have er et script der tjekker at:
> Der er et @ i adressen
> Der er et . i adressen
> Der er mindst 7 tegn i adressen.
> Der ikke er brugt æ, ø, eller å i adressen.

Ok, det er rimelige krav hvis man ved at det ikke er til et lokalnet.
Dog bør du nok droppe æøå-kravet, da "foo@æblegrød.nu" kan være en lovlig
adresse.

> Hvis det er muligt ville det være super, ellers kan et script der tjekker
> for @ og mindst 7 tegn også rigtigt godt bruges :)

Den primitive, men sikre, metode:
---
function checkEMail(addr) {
return addr.indexOf("@") >= 0 &&
addr.indexOf(".") >= 0 &&
addr.length >= 7 &&
addr.indexOf("æ") == -1 &&
addr.indexOf("ø") == -1 &&
addr.indexOf("å") == -1 ;
}
---

Man kan også bruge regulære udtryk:
---
function checkEMail(addr) {
return /^[^æøå]+@[^æøå]+\.[^æøå]+$/.test(addr) && addr.length >= 7;
}
---
(her tjekkes endda at "." kommer efter "@")

/L
--
Lasse Reichstein Nielsen - lrn@hotpop.com
Art D'HTML: <URL:http://www.infimum.dk/HTML/randomArtSplit.html>
'Faith without judgement merely degrades the spirit divine.'

Frederik Østeraa (23-08-2003)
Kommentar
Fra : Frederik Østeraa


Dato : 23-08-03 22:14

Lasse Reichstein Nielsen wrote:

> Ok, det er rimelige krav hvis man ved at det ikke er til et lokalnet.
> Dog bør du nok droppe æøå-kravet, da "foo@æblegrød.nu" kan være en lovlig
> adresse.

Vidste godt at man kunne bruge adresser som øl.com osv. Men også æ og å?


> Den primitive, men sikre, metode:
<SNIP "primitiv" metode>
> Man kan også bruge regulære udtryk:
<SNIP regulære udtryk-metode>
> (her tjekkes endda at "." kommer efter "@")

Jeg er ikke en haj til javascript, det vil sige at jeg overhovedet ikke
fatter det kode du har skrevet, og ikke aner hvad jeg skal gøre med det.
Nogen hjælp?

Mvh
Frederik Østeraa



Lasse Reichstein Nie~ (23-08-2003)
Kommentar
Fra : Lasse Reichstein Nie~


Dato : 23-08-03 23:20

"Frederik Østeraa" <frederik@oesteraa.dk> writes:

> Vidste godt at man kunne bruge adresser som øl.com osv. Men også æ og å?

Man kan ikke bruge øl.com, men man kan bruge både æ, ø og å i adresser
der ender på ".nu".

> Jeg er ikke en haj til javascript, det vil sige at jeg overhovedet ikke
> fatter det kode du har skrevet, og ikke aner hvad jeg skal gøre med det.

Kode var en funktion der testede om dine krav til e-mail-adressen var
opfyldt. For at bruge koden til noget, så skal man tilføje en funktion
der validerer formen. Tilføj dette til <head>-elementet:

---
<script type="text/javascript">

function checkEMail(addr) {
//...funktionen fra før
}

function validateForm(form) {
var res = true;
var warning = "";

if (!checkEMail(form.elements['navnPåEMailFelt'].value)) {
res = false;
warning += "E-mail-adresse er ikke acceptabel\n";
}

if (!res) {alert(warning);}
return res;
}
</script>
---

så skal man kalde den når man forsøger at submitte formen, ved at
tilføje en onsubmit handler til dit form tag:

<form action="...din URL..." onsubmit="return validateForm(this);">

/L
--
Lasse Reichstein Nielsen - lrn@hotpop.com
Art D'HTML: <URL:http://www.infimum.dk/HTML/randomArtSplit.html>
'Faith without judgement merely degrades the spirit divine.'

Christian Holck (24-08-2003)
Kommentar
Fra : Christian Holck


Dato : 24-08-03 08:48

Lasse Reichstein Nielsen wrote:
> "Frederik Østeraa" <frederik@oesteraa.dk> writes:
>
>
>>Kan en af jer hjælpe mig med et script, der skal bruges til at validere at
>>en bruger har indtastet en gyldig email adresse.
>
>
>>Jeg ved godt at man ikke kan tjekke om en specifik email adresse findes,
>>men det jeg gerne vil have er et script der tjekker at:
>> Der er et @ i adressen
>> Der er et . i adressen
>> Der er mindst 7 tegn i adressen.
>> Der ikke er brugt æ, ø, eller å i adressen.
>
>
> Ok, det er rimelige krav hvis man ved at det ikke er til et lokalnet.
> Dog bør du nok droppe æøå-kravet, da "foo@æblegrød.nu" kan være en lovlig
> adresse.
>
>
>>Hvis det er muligt ville det være super, ellers kan et script der tjekker
>>for @ og mindst 7 tegn også rigtigt godt bruges :)
>
>
> Den primitive, men sikre, metode:
> ---
> function checkEMail(addr) {
> return addr.indexOf("@") >= 0 &&
> addr.indexOf(".") >= 0 &&
> addr.length >= 7 &&
> addr.indexOf("æ") == -1 &&
> addr.indexOf("ø") == -1 &&
> addr.indexOf("å") == -1 ;
> }
> ---
>
> Man kan også bruge regulære udtryk:
> ---
> function checkEMail(addr) {
> return /^[^æøå]+@[^æøå]+\.[^æøå]+$/.test(addr) && addr.length >= 7;
> }
> ---
> (her tjekkes endda at "." kommer efter "@")
>
> /L
Jeg sidder og prøver på at lave et regulært udtryk, der skal tjekke om
en email adresse er gyldig. Så vil jeg lige vide, når nu det kan være
foo@æblegrød.nu, kan det så også være æblegrød@øl.com? Altså med æ, ø
eller å i det første?


Lasse Reichstein Nie~ (24-08-2003)
Kommentar
Fra : Lasse Reichstein Nie~


Dato : 24-08-03 09:21

Christian Holck <christian@malling.com> writes:

> Jeg sidder og prøver på at lave et regulært udtryk, der skal tjekke om
> en email adresse er gyldig. Så vil jeg lige vide, når nu det kan være
> foo@æblegrød.nu,

For at være *helt* præcis, så er "æblegrød.nu" ikke et lovligt domænei
forhold til RFC 2821 sektion 2.3.5 (SMTP,Domain). I praksis er
spørgsmålet, om .nu-domæner med danske tegn har en MX-record i
DNS-systemet. Hvis de har det, og programmerne på vejen forstår
det, så skulle de få mailen.

> kan det så også være æblegrød@øl.com? Altså med æ, ø
> eller å i det første?

I det omfang modtageren forstår 8-bit/Unicode, så kan man. Det er
modtageren der bestemmer hvad det der står før "@" betyder.

Det vigtigste her er ikke nødvendigvis reglerne for hvad der er
en lovlig adresse, fordi dem overholder folk ikke nødvendigvis.
Den generelle retningslinje på nettet er: "Vær tilgivende i hvad
du accepterer og præcis i hvad du genererer.".
Her er det bedre at acceptere for mange e-mail-adresser end for få, og
det vil nok også være mere fremtidssikret at acceptere alle bogstaver
både før og efter "@"'et.

/L
--
Lasse Reichstein Nielsen - lrn@hotpop.com
Art D'HTML: <URL:http://www.infimum.dk/HTML/randomArtSplit.html>
'Faith without judgement merely degrades the spirit divine.'

Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408527
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste