正则,只允许输入小数点后3个小数
function   isFloat(str){ 
 		if(str== " ") 
 			return   false; 
 		var   reg=/^\-?([1-9]\d*|0)(\.\d?[0-9])?$/; 
 		return   reg.test(str); 
 	} 
 这是俺当初网上抄的,是限制小数点后两个小数,今天需求改成3个小数,我不懂正则,学习中。。。各位帮忙改下啊。。。
------解决方案--------------------那个正则表达式有点问题,你输入1.他能通过.而且写得有点乱 
 试试这个^\-?\d+(\.\d{1,3})?$,应该可以的
------解决方案--------------------还是不严格..~当非小数位只有1位的时候应该可以为0.所以应该是: 
 /^-?(\d|[1-9]\d+)(\.\d{0,2}[1-9])?$/ 
------解决方案--------------------/^(?:\+|-)?\d+(?:\.\d{1,3})?$/   
 ok?
------解决方案--------------------function isFloat(str){ 
 if(str== " ") 
 return false; 
 var reg=/^\-?([1-9]\d*|0)(\.[1-9]{1,3})?$/; 
 return reg.test(str); 
 } 
 alert(isFloat( "123.152 "));//true