Discussion:
Hjælp til "udbygning" af 2 JavaScripts
(for gammel til at besvare)
Peter
2009-02-14 16:29:43 UTC
Permalink
Hej NG!

Til at begynde med vil jeg ærligt sige at jeg overhovedet ikke har forstand
på JavaScript-programering. Derfor henvender jeg her i håb om at en eller
anden "kunne finde på" at hjælpe mig. På forhånd. Tak !!!

Det drejer sig om 2 scripts som gerne skulle "udbygges".

Jeg har opdaget at e-mail scriptet ikke kontrollerer om man
har "glemt" landekoden f.eks. ".dk"/".com"/".info"
altså undersøge om punktummet står på
den tredie, fjerde - eller femtesidste plads (afhængig af om landekoden er
på to,
tre eller fire tegn).

placering=0;
tekst=(document.forms[0].E_mail.value).toLowerCase();
placering=tekst.indexOf("@");
if(tekst ==""){
alert ("Der skal stå en e-post adresse i tekstfeltet!");
theForm.E_mail.focus();
return (false);
}
else{
tegn=tekst.indexOf(" ");
if(tegn!=-1){
alert ("Der må ikke være mellemrum i adressen!");
theForm.E_mail.focus();
return (false);
}
else{
if (tekst.indexOf("æ")!=-1 || tekst.indexOf("ø")!=-1 ||
tekst.indexOf("å")!=-1 ||
tekst.indexOf("Æ")!=-1 || tekst.indexOf("Ø")!=-1 ||
tekst.indexOf("Å")!=-1 ||
tekst.indexOf(";")!=-1 || tekst.indexOf(",")!=-1){
alert ("Der er ulovlige tegn i adressen!: æ Æ ø Ø å Å , ;");
theForm.E_mail.focus();
return (false);
}
else{
if (placering<1 || tekst.length<=(placering+1)){
alert ("E-post adressen er forkert! - Forsøg igen!");
theForm.E_mail.focus();
return (false);
}
}
}
}

Hvor meget skal jeg "slette" i ovennævnte kode hvis scriptet ikke skal
"kræve" at der skal skrives skal skrives i tekstfeltet, men kun validere
hvis der er skrvet i feltet ?


Kan dette anvendte telefon-script ændres til at validere 2 telefonnumre ?

var s = theForm.Telefon.value.replace(" ", "");
if (!/^[0-9\/-]{8,20}$/.test(s)) {
alert("Telefonnummeret har ikke korrekt format!");
theForm.Telefon.focus();
return false;
}

Jeg "troede" at {8,20}betød at man kunne skrive fra 8 til 20 tal ind i
feltet = 2 x 8 tegn plus "lidt extra" = "og , +, / "


hilsen og på forhånd. Tak !!!
Peter
Martin
2009-02-22 23:24:56 UTC
Permalink
Post by Peter
Hej NG!
Til at begynde med vil jeg ærligt sige at jeg overhovedet ikke har forstand
på JavaScript-programering. Derfor henvender jeg her i håb om at en eller
anden "kunne finde på" at hjælpe mig. På forhånd. Tak !!!
Det drejer sig om 2 scripts som gerne skulle "udbygges".
Jeg har opdaget at e-mail scriptet ikke kontrollerer om man
har "glemt" landekoden f.eks. ".dk"/".com"/".info"
altså undersøge om punktummet står på
den tredie, fjerde - eller femtesidste plads (afhængig af om landekoden er
på to,
tre eller fire tegn).
[SNIP]

Det var godt nok en kode at fyre af :)

var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
var address = (document.forms[0].E_mail.value).toLowerCase();

if (address) { /* If field is not filled skip validation */
if(reg.test(address) == false) {
alert('Invalid Email Address');
return false;
}
}
}
Post by Peter
Hvor meget skal jeg "slette" i ovennævnte kode hvis scriptet ikke skal
"kræve" at der skal skrives skal skrives i tekstfeltet, men kun validere
hvis der er skrvet i feltet ?
Kan dette anvendte telefon-script ændres til at validere 2 telefonnumre ?
Hvad med udenlandske, ikke alle har 8 tal.
Post by Peter
var s = theForm.Telefon.value.replace(" ", "");
if (!/^[0-9\/-]{8,20}$/.test(s)) {
alert("Telefonnummeret har ikke korrekt format!");
theForm.Telefon.focus();
return false;
}
Jeg "troede" at {8,20}betød at man kunne skrive fra 8 til 20 tal ind i
feltet = 2 x 8 tegn plus "lidt extra" = "og , +, / "
[0-9\/-]{8,20}
Det eneste der kan skrives i dette felt er
0123456789/-

[0-9\/-+, og]{8,20}
Nu kan der skrives
0123456789/-+(mellemrum)og
Post by Peter
hilsen og på forhånd. Tak !!!
Peter
Martin
2009-02-22 23:26:13 UTC
Permalink
Post by Peter
Hej NG!
Til at begynde med vil jeg ærligt sige at jeg overhovedet ikke har forstand
på JavaScript-programering. Derfor henvender jeg her i håb om at en eller
anden "kunne finde på" at hjælpe mig. På forhånd. Tak !!!
PS!
HUSK at javascript validation ikke er nok, det skal også checkes
serverside, ellers så er det bare at slå javascript fra, også er den
hurdle overstået

Loading...