jQuery实现只允许输入数字和小数点的方法
来源: 阅读:1505 次 日期:2016-08-02 16:26:25
温馨提示: 小编为您整理了“jQuery实现只允许输入数字和小数点的方法”,方便广大网友查阅!

本文实例讲述了jQuery实现只允许输入数字和小数点的方法。分享给大家供大家参考,具体如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<script src="jquery.min.js" type="text/javascript"></script>

<script type="text/javascript">

//示例代码:

//只允许输入数字与.:<input type="text" name="test" id="test" onkeydown="checkKeyForFloat(this.value,event)" style="ime-mode: disabled" />

//只允许输入数字 :<input type="text" name="test2" id="test2" onkeydown="checkKeyForNum(this.value,event)" style="ime-mode: disabled" />

//只允许输入数字与小数点

function checkKeyForFloat(value, e) {

 var isOK = false;

 var key = window.event ? e.keyCode : e.which;

 if ((key > 95 && key < 106) || //小键盘上的0到9

 (key > 47 && key < 60) || //大键盘上的0到9

 (key == 110 && value.indexOf(".") < 0) || //小键盘上的.而且以前没有输入.

 (key == 190 && value.indexOf(".") < 0) || //大键盘上的.而且以前没有输入.

 key == 8 || key == 9 || key == 46 || key == 37 || key == 39 //不影响正常编辑键的使用(8:BackSpace;9:Tab;46:Delete;37:Left;39:Right)

) {

  isOK = true;

 } else {

  if (window.event) //IE

  {

   e.returnValue = false; //event.returnValue=false 效果相同.

  }

  else //Firefox

  {

   e.preventDefault();

  }

 }

 return isOK;

}

//只允许输入数字

function checkKeyForInt(value, e) {

 var isOK = false;

 var key = window.event ? e.keyCode : e.which;

 if ((key > 95 && key < 106) || //小键盘上的0到9

 (key > 47 && key < 60) || //大键盘上的0到9

 key == 8 || key == 9 || key == 46 || key == 37 || key == 39 //不影响正常编辑键的使用(8:BackSpace;9:Tab;46:Delete;37:Left;39:Right)

) {

  isOK = true;

 } else {

  if (window.event) //IE

  {

   e.returnValue = false; //event.returnValue=false 效果相同.

  }

  else //Firefox

  {

   e.preventDefault();

  }

 }

 return isOK;

}

//设置有自定义属性 dtype 的文本框 允许输入的范围

function setDType() {

 $(":text[dtype]").each(function () {

  var dtype = $(this).attr("dtype");

  var isOK = true;

  switch (dtype) {

   case "number":

    $(this).css("ime-mode", "disabled").keydown(function (event) {

     isOK = checkKeyForFloat($(this).val(), event);

     if (!isOK) {

      //$(this).SuperFocus("", 500);

     }

     return isOK;

    });

    break;

   default:

    break;

  }

 });

}

</script>

<script type="text/javascript">

$(function () {

 setDType();

});

</script>

</head>

<body>

年龄: <input type="text" maxlength="3" onkeydown="checkKeyForInt(this.value,event)" style="ime-mode: disabled"/><br />

身高:<input type="text" maxlength="5" dtype="number" />

</body>

</html>

希望本文所述对大家jQuery程序设计有所帮助。

更多信息请查看网络编程
由于各方面情况的不断调整与变化, 提供的所有考试信息和咨询回复仅供参考,敬请考生以权威部门公布的正式信息和咨询为准!
关于我们 | 联系我们 | 人才招聘 | 网站声明 | 网站帮助 | 非正式的简要咨询 | 简要咨询须知 | 加入群交流 | 手机站点 | 投诉建议
工业和信息化部备案号:滇ICP备2023014141号-1 云南省教育厅备案号:云教ICP备0901021 滇公网安备53010202001879号 人力资源服务许可证:(云)人服证字(2023)第0102001523号
云南网警备案专用图标
联系电话:0871-65317125(9:00—18:00) 获取招聘考试信息及咨询关注公众号:hfpxwx
咨询QQ:526150442(9:00—18:00)版权所有:
云南网警报警专用图标
Baidu
map