请问一下js中怎么来判断输入小数点并且只让他输入一个小数点
function isNumber(String,name) {
var Letters = "1234567890."; //可以自己增加可输入值
var i;
var c;
for (i = 0; i < String.length; i++) {
c = String.charAt(i);
if (Letters.indexOf(c) < 0) {
alert(name + "只能为数字");
return true;
}
}
}
这是我写的但是没有判断小数点的个数. 需要怎么判断
function isNumber(String,name) {
var Letters = "1234567890."; //可以自己增加可输入值
var i;
var c;
for (i = 0; i < String.length; i++) {
c = String.charAt(i);
if (Letters.indexOf(c) < 0) {
alert(name + "只能为数字");
return true;
}
}
}
这是我写的但是没有判断小数点的个数. 需要怎么判断
function f(){
var i = 0 ;
var str ="jkfjafsa.jkfjals.fjdsalkfjdsla.djaksl";
while(str.lastIndexOf(".")!=-1){
i++;
str = str.substring(0,str.lastIndexOf("."));
}
if(i>0){
alert("有"+i+"点");
}
}
f();
</script>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD>
<script>
var tt="11.5";
var reg=/^(\d+)(\.\d+)?$/;
alert(reg.test(tt));
tt="11.5.0";
alert(reg.test(tt));
</script>
<BODY></BODY>
</HTML>
//JS自带函数
if(isNaN("23.32.2")){
alert("请输入一个正确数字");
}
//正则
if(!/^\d+(\.\d+)?$/g.test("23.02.22")){
alert("请输入一个正确数字");
}
function checkNum(Obj,s,f)
{ var thisnum=Obj.value;
if(thisnum=="" return true;
var n=s-f;//整数位数
var i;
if(isNaN(thisnum)!=true)//当输入为数值
{
if(f>0)
{
i=thisnum.indexOf(".";
if(i==-1)//当找不到小数,可以输入整数
{
if(thisnum.length>n)
{
Obj.select();
alert("输入的 整数位 应小于"+n+"位,请重输!";
return false;
}
else return true;
} if(i==0 || i==thisnum.length-1)
{
Obj.select();
alert("输入错误,请重输!";
return false;
} if(i>0)
{
var floatnum=thisnum.substr(i+1);//小数部分
var plusnum=thisnum.length-floatnum.length-1;//整数部分
if(plusnum>n)
{
Obj.select();
alert("输入的整数位应小于或等于"+n+"位,请重输!";
return false;
}
if (floatnum.length>f)
{
Obj.select();
alert("输入的小数位应小于或等于"+f+"位,请重输!";
return false;
}
} } if(f==0)
{
i=thisnum.indexOf(".";
if(i!=-1)
{
Obj.select();
alert("只能输入整数,且小于或等于"+n+"位,请重输!";
return false;
} if(thisnum.length>n)
{
Obj.select();
alert("只能输入整数,且小于或等于"+n+"位,请重输!";
return false;
}
} return true;
}
else
{
Obj.select();
alert("请输入一个数值!"; /////在这一句会报错,提示对象不支持方法或属性
return false;
}}
function isNumber(String,name) {
var Letters = "1234567890."; //可以自己增加可输入值
var i;
var c;
var pos1 = String.indexOf(".");
var pos2 = String.lastIndexOf(".");
if (pos1 != pos2) {
alert (name+"语法错误");
return true;
}
for (i = 0; i < String.length; i++) {
c = String.charAt(i);
if (Letters.indexOf(c) < 0) {
alert(name + "只能为数字");
return true;
} } }
这是我写的