Prova questo.
Non accetta lo 0 per prima cifra della parte intera salvo se è solo.
codice:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Untitled</title>
<script language="JavaScript" type="text/javascript">
<!--
function check(valore) {
if (valore.match(/^(0|[1-9]+[0-9]*)([\.,]([0-9]{1,2})){0,1}$/) == null) {
return false;
} else {
return true;
}
} // function check(valore)
function c2(valore) {
alert(valore+' => '+check(valore));
}
//-->
</script>
</head>
<body>
<script language="JavaScript" type="text/javascript">
<!--
c2('45.');
c2('23');
c2('23,3');
c2('23,76');
c2('43.7');
c2('45.43');
c2('45.455');
c2('05.45');
c2('0.45');
c2('0.451');
c2('10.45');
//-->
</script>
</body>
</html>