F.eks. sådan ?-)
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"
http://www.w3.org/TR/html4/loose.dtd"><html>
<head>
<title>Generisk validering</title>
<meta name="Generator" content="Stone's WebWriter 4">
<meta name="keywords" content="roenving,
http://www.eksperten.dk/spm/544411"><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="javascript" type="text/javascript">
function valider(f){
var e = f.elements,val,min,max,fname,tval;
for(i=0;e.length>i;i++){
if(e[i].type=='text'&&e[i].name.indexOf('val')!=0){
fname = max = min = 0;
val = e['val'+e[i].name].value;
tval = val.split("(")[1].split(")");
fname = tval[1];
min = tval[0];
if(min.indexOf(",")>0){
max = +min.split(",")[1];
min = +min.split(",")[0];
}
val = val.split("(")[0];
if(min&&min>e[i].value.length||max&&e[i].value.length>max){
alert('Værdien i ' + ((fname)?'"'+fname+'"':e[i].name) + ' overholder ikke kravene til længde')
e[i].focus();
return false;
}
var t = "\\wáàãââæåçéèêëìíîïñòóôõöøùúûüýÿ";
var regexpmail = new RegExp("^["+t+"]["+t+"\\.\\-\\+]*@["+t+"]["+t+"\\.\\-]*\\.["+t+"]{2}["+t+"\\.\\-\\/]*$","i");
switch(val){
case('char'):
if(!/^\w+$/i.test(e[i].value)){
alert('Værdien i ' + ((fname)?'"'+fname+'"':e[i].name) + ' overholder ikke kravet om kun at bruge tegn')
e[i].focus();
return false;
}
break;
case('caps'):
if(!/^[A-Z]+$/.test(e[i].value)){
alert('Værdien i ' + ((fname)?'"'+fname+'"':e[i].name) + ' overholder ikke kravet om kun at bruge store bogstaver')
e[i].focus();
return false;
}
break;
case('number'):
if(!/^\d+$/.test(e[i].value)){
alert('Værdien i ' + ((fname)?'"'+fname+'"':e[i].name) + ' overholder ikke kravet om kun at bruge tal')
e[i].focus();
return false;
}
break;
case('curr'):
if(!/^\d+([,\.]\d{3})*([,\.]\d\d)?$/.test(e[i].value)){
alert('Værdien i ' + ((fname)?'"'+fname+'"':e[i].name) + ' overholder ikke kravet om at bruge valuta-notation')
e[i].focus();
return false;
}
break;
case('mail'):
if(!regexp.test(e[i].value)){
alert('Værdien i ' + ((fname)?'"'+fname+'"':e[i].name) + ' overholder ikke kravet om en mail-adresse')
e[i].focus();
return false;
}
break;
default:
}
}
}
return true;
}
</script>
</head>
<body>
<br>
<form id="minForm" name="minForm" onsubmit="return valider(this);">
Store bogstaver: <input id="minInput" name="minInput" type="text" value="KUN CAPS" onfocus="if(this.value==this.defaultValue)this.value='';" onblur="if(this.value=='')this.value=this.defaultValue;" size="20">
<input type="hidden" name="valminInput" value="caps(4,5)Store bogstaver">
<br>
Pris: <input id="minInput2" name="minInput2" autocomplete='off' type="text" value="Pris" onfocus="if(this.value==this.defaultValue)this.value='';" onblur="if(this.value=='')this.value=this.defaultValue;" size="20">
<input type="hidden" name="valminInput2" value="curr()">
<br>
<input type="submit" value="Test">
</form>
</body>
</html>
-- og jeg ved godt, at jeg kun har lavet tekst-felter, men resten vil jeg lave, hvis ideen er brugbar !-)