Avatar billede superraider Nybegynder
29. september 2004 - 00:07 Der er 12 kommentarer og
1 løsning

Regular Expression

Der er noget gal i expressionen, den acceptere ingen mails. ved ikke hvad jeg har lavet galt.


if (opret.email.value == '' ||!opret.navn.value.match(/^[\w\.-]+@[\w\.-]+\.[A-Z]{2,3}$/i)) {
        bilsrc()
        d.getElementById('tdemail').style.visibility='visible'
        opret.email.focus();
        return false;
    } else {
        d.getElementById('tdemail').style.visibility='hidden'
    }
Avatar billede eagleeye Praktikant
29. september 2004 - 00:16 #1
Måske fordi du tjekker op imod "navn" input feltet og ikke "email" inputet:
opret.navn.value.match(/^[\w\.-]+@[\w\.-]+\.[A-Z]{2,3}$/i))
Avatar billede superraider Nybegynder
29. september 2004 - 00:20 #2
skulle lige ind og lukke selv, lagde også lige mærke til det.
vil du have point så må du lige hjælpe mig lidt mere.
hvad betyder dem der / start, jeg kan ikke finde den på
http://dk.php.net/manual/en/reference.pcre.pattern.syntax.php

du må godt give en kort forklaring af hvad det egentlig er alle de tegn betder i dette tilfælde, ikke så grundig i den første del, forstår næsten det ind til det sidste punktum, så kommer .[A-Z]{2,3}$/i)) det forsår jeg ikke
Avatar billede eagleeye Praktikant
29. september 2004 - 00:24 #3
/ bruges som start og slut karakter på et pattern, som " bruges som start og slut på en streng.

Denne del: .[A-Z]{2,3}
Matcher top domænet .dk .uk .com .de osv. Den ogkender altså 2 eller 3 kataker som er fra A til Z.

$i betyder ignore case så "A" er lig "a".
Avatar billede eagleeye Praktikant
29. september 2004 - 00:26 #4
hov der skulle være en \ med:  \.[A-Z]{2,3}
\. matcher et punktum .

Grunden til der er \ foran er fordi . bruges til at matche "match any character except newline".
Avatar billede superraider Nybegynder
29. september 2004 - 00:29 #5
ok, men hvorfor kommer slut karakteren imellem $i
det sidste, matcher det domænerne eller er det bare A til Z sat sammen på sjove måder. (kan man skrive noget efter punktum med A til Z, som den ikke vil acceptere.)
Avatar billede eagleeye Praktikant
29. september 2004 - 00:29 #6
nu sover jeg lidt... :)

Denne passer det ikke hvad jeg skrev før:
$i betyder ignore case så "A" er lig "a".

$ betyder at den skal matche slut på strengen
i betyder ignore case så "A" er lig "a".
Avatar billede superraider Nybegynder
29. september 2004 - 00:31 #7
altså slutstrengen (det efter komma) skal bestå af 2 eller 3 bokstaver af A-Z hvor den ignore case hele vejen igennem hele emailen.
Avatar billede superraider Nybegynder
29. september 2004 - 00:31 #8
punktum even
Avatar billede eagleeye Praktikant
29. september 2004 - 00:32 #9
Efter pattern'et kan man angive nogle ekstra tegn:  i, m, s, x, U
Som gælder for det pattern.
Avatar billede superraider Nybegynder
29. september 2004 - 00:32 #10
nu sagde du det gyldne ord, så godnat, man skal ikke sige sove to gange mens jeg høre på
Avatar billede roenving Novice
29. september 2004 - 01:02 #11
Hrm ...

Hvorfor tester du værdien af navn-feltet for om det er en email, når du ellers skriver har fat i email-feltet ?-)
Avatar billede roenving Novice
29. september 2004 - 01:02 #12
... af navn-feltet med regexp'en for om ...
Avatar billede superraider Nybegynder
29. september 2004 - 10:32 #13
fordi det var en fejl, kopirede inde jeg rettede det
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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