24. november 2008 - 18:27Der er
13 kommentarer og 1 løsning
Bestemt indhold i input
Hello.
Jeg skal bruge en lille javascript-validering af emails. Hvis et input skal indeholde "@" og "." før det kan submittes, hvordan skal javascriptet så se ud? Og indeholder inputtet _ikke_ de tegn skal brugeren alertes med en besked.
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Tak for dit svar, olebole. Jeg har flere valideringer på samme form, men kun én af valideringerne "slår igennem" - så enten virker valideringen af mine andre felter eller også virker email-valideringen. Er det onsubmit'en det er noget galt med?
onsubmit="return validateForm(this, ['firstName', 'adresse', 'by'], ['Ups! Du mangler at udfylde dit navn', 'Du mangler en adresse', 'Du skal lige indtaste din by']); return tjek_mail(this)">
Jeg skal blankt indrømme at jeg ikke har det fjerneste forstand på javascript. Jeg bruger "brudstykker" fra koder bla. roenving og w13 har lavet til mig. I alt bruger jeg 3 javascripts:
<script type="text/javascript"> function validateForm(oForm,aFields,aErrors){ for (var i=0; i<aFields.length; i++) { if (oForm[aFields[i]].value == oForm[aFields[i]].defaultValue || oForm[aFields[i]].value == "") { alert(aErrors[i]); oForm[aFields[i]].focus(); return false; } } return true; } </script> <script type="text/javascript"> function visDiv(f){ if(f.firstName.value != "" && f.eMail.value != "") document.getElementById("minDiv").style.display = "block"; } </script> <script type="text/javascript"> function tjek_mail(f) {
var eMail = f.eMail; var emailreg=/^.+@.+\..{2,4}$/
if (!eMail.value.match(emailreg)) { alert("Indtast en gyldig email adresse !!!") eMail.focus(); return false; }
return true; } </script>
-- Og på formen ligger så den onsubmit der skal validere email-inputtet og de resterende inputs. Kan man samle de 3 javascripts i én? Eller hvordan fungerer det?
<script type="text/javascript"> function validateForm(oForm,aFields,aErrors){ for (var i=0; i<aFields.length; i++) { if (oForm[aFields[i]].value == oForm[aFields[i]].defaultValue || oForm[aFields[i]].value == "") { alert(aErrors[i]); oForm[aFields[i]].focus(); return false; } } return true; } function visDiv(f){ if(f.firstName.value != "" && f.eMail.value != "") document.getElementById("minDiv").style.display = "block"; } function tjek_mail(f) {
var eMail = f.eMail; var emailreg=/^.+@.+\..{2,4}$/
if (!eMail.value.match(emailreg)) { alert("Indtast en gyldig email adresse !!!") eMail.focus(); return false; }
return true; } </script>
onsubmit="return validateForm(this, ['firstName', 'adresse', 'by'], ['Ups! Du mangler at udfylde dit navn', 'Du mangler en adresse', 'Du skal lige indtaste din by']) && tjek_mail(this)">
Hrm, det er vel også for dumt ikke at regulere regExp'en, så den lige holder de mest elementære steder:
var emailreg=/^.*@.+\.[a-z]{2,6}$/
(Det, der kommer foran @-tegnet må ifølge nyeste standard for mail-adresser (rfc2822) ikke checkes af andre end mail-hosten, og der findes nu tld'er (top-level domains) på op til 6 bogstaver, f.eks. .museum !-)
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.