只接受js中的数字和一个点


Accept only number and one dot in js?

我有一个不起作用的代码:

function isWH(ele)
{
  var r=/'D$/i; // important: prevent space sa password
  if(r.test(ele.value))
  {
    alert("Please check your format");
    ele.value="";
    ele.focus();
  }
}

<input type="text" name="hei" class="textarea" value="<?php echo $hei?>"         onkeyup="isWH(this)" placeholder="e.g. 163"  onKeyDown="CountLeft(this.form.hei,this.form,5);" onKeyUp="CountLeft(this.form.hei,this.form,5);" /> 

尝试以下regex

<script>
$(function(){
    $('#hei').keypress(function(event) 
    {
        var charCode = (event.which) ? event.which : event.keyCode
        if (
            (charCode != 45 || $(this).val().indexOf('-') != -1) &&      // “-” CHECK MINUS, AND ONLY ONE.
            (charCode != 46 || $(this).val().indexOf('.') != -1) &&      // “.” CHECK DOT, AND ONLY ONE.
            (charCode < 48 || charCode > 57))
            return false;
        return true;
    });
});
</script>

HTML

<input type="text" name="hei" id="hei" class="textarea" value="<?php echo $hei ?>" 
placeholder="e.g. 163" onKeyDown="CountLeft(this.form.hei,this.form,5);" 
onKeyUp="CountLeft(this.form.hei,this.form,5);" /> 

Fiddle