Avatar billede dj-sejler Praktikant
01. juli 2004 - 18:51 Der er 7 kommentarer og
1 løsning

validering af e-mailadresser

Hej...

jeg skal bruge en lille function... så jeg kan se om brugerens e-mailadresse virkelig kan være en e-mailadresse

Håber i kan hjælpe...
Avatar billede eagleeye Praktikant
01. juli 2004 - 18:57 #1
Det kan laves i evt. java script:
http://www.ljweb.dk/usefulscripts/  (nederst verifyemail.js)

Hvis du vil lave det i ASP kunne det være sådan her:


Function isEmail(str)
  Dim RegEx
  Set RegEx = New RegExp
  RegEx.Pattern = "^\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$"
  isEmail = RegEx.Test(str)
End Function


Og den bruges på denne måde:

<% 
str = "xxx@xxx.dk" 
if isEmail(str) then 
  'Ok strengen str indeholder kun en email adr
else 
  'Ikke en email adresse
end if 
%>
Avatar billede vbcoder Nybegynder
01. juli 2004 - 18:58 #2
function emailcheck(chkMail)

'vi regner med at den er god nok
emailcheck=true

'check om abe-halen er der
if instr(chkMail,"@")=0 then
  'fejl
  emailcheck=false
end if

'en email adresse må antages at have en hvis længde
'fx. a@b.dk så minimum 6 tegn
if len(chkMail) < 6 then
  'så er det nok ikke en email
  emailcheck=false
end if

'der skal være mindst et punktum
if instr(chkMail,".")=0 then
  'mangler domæne
  emailcheck=false
end if

end function
Avatar billede eagleeye Praktikant
01. juli 2004 - 19:17 #3
Du kan også kigge på svaret i dette spørgsmål (jeg syntes det er overkill):
http://www.eksperten.dk/spm/404458
Avatar billede netro Nybegynder
02. juli 2004 - 08:16 #4
vbcoder -> Hvad siger du til:

function emailcheck(chkMail)
  if instr(chkMail,"@") and len(chkMail) > 5 and instr(chkMail,".") then emailcheck = true
end function

?

Jeg vil dog til enhver tid bruge RegExp til den slags. Evt. kan du udvide eagleeyes eksempel til også at kontrollere endelsen (.dk, .com osv.).
Avatar billede vbcoder Nybegynder
02. juli 2004 - 09:04 #5
den spiller - mit bud var ikke meget gennemtænkt men kun min umiddelbare kontrol
Avatar billede vbcoder Nybegynder
02. juli 2004 - 09:05 #6
man kunne måske indsætte

function emailcheck(chkMail)
  chkMail=false
  if instr(chkMail,"@") and len(chkMail) > 5 and instr(chkMail,".") then emailcheck = true
end function
Avatar billede netro Nybegynder
02. juli 2004 - 17:53 #7
Det er ikke nødvendigt :)
Avatar billede vbcoder Nybegynder
02. juli 2004 - 18:03 #8
næ det ved jeg godt men det gør koden mere gennemsigtig

jeg ved godt unassigned chkMail er lig med false men hvis en anden skulle se koden og vide det ? og det koster ikke ekstra ressourcer.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester