[关闭]
@Wangww0925 2019-08-07T07:57:20.000000Z 字数 1715 阅读 183

控制input输入只能为数字 && 控制input输入只能为数字和 .

js


控制input输入只能为数字

  1. /**
  2. * 控制input输入只能为数字
  3. * 一般用于输入手机号 密码
  4. * 参数
  5. dom input元素
  6. keyup keyup事件 回调
  7. * 调用
  8. NumKeyEvent($(".input"),function (that) {
  9. console.log("keyup")
  10. })
  11. */
  12. function NumKeyEvent(dom,keyup){
  13. // 鼠标抬起时过滤额不是数字的内容
  14. dom.keyup(function () {
  15. var reg = $(this).val().match(/\d*/);
  16. var txt = reg ? reg[0] : "";
  17. $(this).val(txt.trim())
  18. keyup && keyup(this);
  19. })
  20. }

控制input输入只能为数字和 .

  1. /**
  2. * 控制input输入只能为数字和 .
  3. * 参数
  4. dom input元素
  5. number 小数位数,(默认2位数)
  6. keyup keyup事件 回调
  7. change change事件 回调
  8. blur blur事件 回调
  9. focus focus事件 回调
  10. * 注意 : 使用该函数需要在input定义 amount 属性 ,该方法的而数据以 input的amount属性值为准
  11. * 调用
  12. bindKeyEvent($(".input"),number, function (that) {
  13. /* console.log("keyup") */
  14. },function (that) {
  15. /*console.log("change")*/
  16. },function (that) {
  17. /*console.log("blur")*/
  18. },function (that) {
  19. /*console.log("focus")*/
  20. })
  21. */
  22. function bindKeyEvent(dom,number,keyup,change,blur,focus){
  23. checkDataInput(number) ? number : number = 2
  24. dom.focus(function(){ // 触发焦点时让其值为数字格式
  25. var amount = $(this).attr("amount");
  26. if(!amount){
  27. var val = parseFloat($(this).val()).toFixed(number);
  28. if(val != "" && !isNaN(val)){
  29. $(this).attr("amount",val);
  30. amount = val
  31. }
  32. }
  33. $(this).val(amount);
  34. focus ? focus(this) : ""
  35. }).keyup(function () { // 鼠标抬起时过滤额不是数字的内容
  36. var reg = new RegExp("\\d+" + (number > 0 ? '\\.?' : '' ) + "\\d{0," + number + "}")
  37. // var reg = $(this).val().match(/\d+\.?\d*/); // 小数位数不限
  38. var match = $(this).val().match(reg);
  39. var txt = match ? match[0] : "";
  40. $(this).val(txt.trim())
  41. keyup ? keyup(this) : ""
  42. }).change(function () { // 当内容改变时
  43. var val = $(this).val();
  44. if (/\.$/.test(val)){
  45. $(this).val(val.substr(0, val.length - 1));
  46. }
  47. change ? change(this) : ""
  48. }).blur(function () {
  49. var value = parseFloat($(this).val()) == 0 ? "" : parseFloat($(this).val()).toFixed(number);
  50. isNaN(value) ? value = "" : "";
  51. $(this).val(String(value)).attr("amount",String(value));
  52. blur ? blur(this) : ""
  53. })
  54. }

作者 wendy
2019 年 6月 5日

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注