<script Language="JavaScript">
function check(str1){
if(isNaN(parseFloat(str1))||(str1.split('.').length>2)){
alert("no");
}
else{
alert("ok");
}
}
</SCRIPT>
<form name="myform">
<BODY>
<input type=text name=remLen id=remLen onblur="check(this.value)" >
</BODY>
</form>
这样不好
你有没有发现 假如 str1是.0 或者1. 的话他isNaN(parseFloat(str1))照样是false
<input name=txt1 onchange="if(/\D/.test(this.value)){alert(''只能输入数字'');this.value='''';}">
我不知道你对isNan函数理解没有。他是一个查看是否不是一个数字的,字面意思是:is Not a Number(isNaN).你上面使用这个来判断不是很好,其实用正则比较简单也比较正确些。<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
</HEAD> <BODY>
<SCRIPT LANGUAGE="JavaScript">
<!--
var patten = /^(\d)+\.(\d)+$/; alert(patten.exec("1.2"));
alert(patten.exec("1."));
//-->
</SCRIPT>
</BODY>
</HTML>
可以看看我写的例子。
可是现在是false啊
我使用了上面仁兄的方法
一般情况下isNaN(parseFloat(0.0.0|0.|.0))'s value is false.So i add the code as below:
if(value.Trim().indexOf('.') != -1 )
{
if(value.Trim().split('.').length > 2 )
{
source.innerText = "Invalid Format for Numeric.";
arguments.IsValid = false;
return;
}
else
{
var input = value.Trim().split('.');
if(input[0].Trim()== "" || input[1].Trim()== "")
{
source.innerText = "Invalid Format for Numeric.";
arguments.IsValid = false;
return;
}
}
}