<input name="n"><input type="button" value="test" onClick="if(/[^\d.-]/g.test(n.value))alert('只能输入数字、点、符号')">

解决方案 »

  1.   

    我来回答吧,
    <input type=text onkeyup="value=value.replace(/[^\0-9.-]/g,'');">
    就是这个了。只能输入你想要的,其它的都会被替换为空。
      

  2.   

    返回一个 Boolean 值,指明提供的值是否是保留值 NaN (不是数字)。isNaN(numValue)
    必选项 numvalue 参数为要检查是否为 NAN 的值。说明
    如果值是 NaN, 那么 isNaN 函数返回 true ,否则返回 false 。使用这个函数的典型情况是检查 parseInt 和 parseFloat 方法的返回值。还有一种办法,变量可以与它自身进行比较。如果比较的结果不等,那么它就是 NaN 。这是因为 NaN 是唯一与自身不等的值。
      

  3.   

    <input
     onkeypress="return event.keyCode>=48&&event.keyCode<=57||event.keyCode==46"
     onpaste="return !clipboardData.getData('text').match(/\D/)"
     ondragenter="return false"
     style="ime-mode:Disabled"
    >
    不用判断了,输入的东西满足你的要求
      

  4.   

    <input type=text onClick="sefuncCheck(this)">
    function sefuncCheck(obj){
    var par_val = obj.value;
    for(i=0; i<par_val.length; i++){
    if ((par_val.substring(i, i+1)>="0" && par_val.substring(i, i+1)<="9") || (par_val.substring(i, i+1)==",") || (par_val.substring(i, i+1)=="-"))
    continue;
    } else {
    alert("只能输入数字、点、符号");
    }
    }
    return(true);
    }
    应该就可以搞定了