Har denna, som hör att det krävs ett @.
Går det att skriva om den så att det även krävs något framför @:et, samt något efter och en punkt samt något efter punkten, så att man måste skriva som en riktig email.
såhär alltså: x@x.x
function formvalidation(thisform){
if (validateName(thisform.nam,"Enter your name please!")==false){
thisform.nam.focus();
return false;
}
if (validateEmail(thisform.email, "You have to write a valid E-mail address!")==false){
thisform.email.focus();
return false;
}
return true;
}
</script>
Försöker få jojoxx script att fungera till det jag redan har, dvs så att det kollar att "nam"(textfälten heter nam och email) textfältet inte är tomt heller. Men det går inget vidare, nu reagerar inte scriptet alls om någon av rutorna är tomma. :(
<script>
function validateName(entered, alertbox){
if (entered.value==null || entered.value=="" || entered.value=='\n' ){
alert(alertbox);
return false;}
return true;
}
function formvalidation(thisform){
if (validateName(thisform.nam,"Enter your name please!")==false){
thisform.nam.focus();
return false;
}
/* Detta script finns att hämta på [url]http://www.jojoxx.net[/url] och
får användas fritt så länge som dessa rader står kvar. */
String.prototype.isValidEmail = function(){
return !!this.match(/^([a-zA-Z0-9]{1}([a-zA-Z0-9|.|-|_]*)[a-zA-Z0-9]{1})@([a-zA-Z0-9]{1}([a-zA-Z0-9|.|-|_]*)[a-zA-Z0-9]{1})\.([a-zA-Z]{2,4})$/)
}
function validateForm() {
if (!document.f.email.value.isValidEmail()) {
alert("You have to write a valid E-mail address!");
return false;
}else{
return true;
}
}
</script>
och här anropas javasscriptet:
<FORM METHOD="POST" ACTION="dlpage2.php" onsubmit="return formvalidation(this)">
String.prototype.isValidEmail = function(){
return !!this.match(/^([a-zA-Z0-9]{1}([a-zA-Z0-9|.|-|_]*)[a-zA-Z0-9]{1})@([a-zA-Z0-9]{1}([a-zA-Z0-9|.|-|_]*)[a-zA-Z0-9]{1})\.([a-zA-Z]{2,4})$/)
}
function formvalidation(obj) {
if (!obj.email.value.isValidEmail()) {
alert("You have to write a valid E-mail address!");
return false;
} else if (!obj.nam.value){
alert("Enter your name please!")
return false;
}else{
return true;
}
}
Ja just det. Tanken var att det skulle innefatta även "-" men jag escape'ade inte ordentligt. Men då fixar vi väl så man kan använda te-st@test-test.se också :)
E-postadresser är väldigt svåra att validera eftersom det inte verkar finnas någon standard ( om någon vet var en sådan finns, får denne gärna upplysa mig ) som säger att "så här får en e-postadress se ut och så här får den inte se ut".
För att svara på frågan så kan även e-postadresser innehålla apostrofer, samt vara baserade på ip-adresser ( har jag för mig iallafall ).
Jag skulle tolka det likadant, även om det var efter en del funderande, så låter det mest logiskt. Däremot tror jag det är långt ifrån alla mailservrar som verkligen klarar av att hantera det.