zoukankan      html  css  js  c++  java
  • 用Jquery控制文本框只能输入数字和字母

    针对"只能输入数字"、"只能输入字母"和"只能输入数字和字母"的三种输入限制,我封装成onlyNum(),onlyAlpha()和onlyNumAlpha()3个Jquery扩展方法,方便复用,由于里面一些JS代码涉及到了"禁用输入法,获取剪切板的内容",而"禁用输入法,获取剪切板的内容"只能在IE浏览器下才有效,对于别的浏览器是无效的,因此这三个方法只适合在IE浏览器下使用才有效,三个方法的代码如下

    一、限制只能输入数字

    // ----------------------------------------------------------------------
    // <summary>
    // 限制只能输入数字
    // </summary>
    // ----------------------------------------------------------------------
    $.fn.onlyNum = function () {
        $(this).keypress(function (event) {
            var eventObj = event || e;
            var keyCode = eventObj.keyCode || eventObj.which;
            if ((keyCode >= 48 && keyCode <= 57))
                return true;
            else
                return false;
        }).focus(function () {
        //禁用输入法
            this.style.imeMode = 'disabled';
        }).bind("paste", function () {
        //获取剪切板的内容
            var clipboard = window.clipboardData.getData("Text");
            if (/^d+$/.test(clipboard))
                return true;
            else
                return false;
        });
    };
    限制只能输入数字

    二、限制只能输入字母

    // ----------------------------------------------------------------------
    // <summary>
    // 限制只能输入字母
    // </summary>
    // ----------------------------------------------------------------------
    $.fn.onlyAlpha = function () {
        $(this).keypress(function (event) {
            var eventObj = event || e;
            var keyCode = eventObj.keyCode || eventObj.which;
            if ((keyCode >= 65 && keyCode <= 90) || (keyCode >= 97 && keyCode <= 122))
                return true;
            else
                return false;
        }).focus(function () {
            this.style.imeMode = 'disabled';
        }).bind("paste", function () {
            var clipboard = window.clipboardData.getData("Text");
            if (/^[a-zA-Z]+$/.test(clipboard))
                return true;
            else
                return false;
        });
    };
    限制只能输入字母

    三、 限制只能输入数字和字母

    // ----------------------------------------------------------------------
    // <summary>
    // 限制只能输入数字和字母
    // </summary>
    // ----------------------------------------------------------------------
    $.fn.onlyNumAlpha = function () {
        $(this).keypress(function (event) {
            var eventObj = event || e;
            var keyCode = eventObj.keyCode || eventObj.which;
            if ((keyCode >= 48 && keyCode <= 57) || (keyCode >= 65 && keyCode <= 90) || (keyCode >= 97 && keyCode <= 122))
                return true;
            else
                return false;
        }).focus(function () {
            this.style.imeMode = 'disabled';
        }).bind("paste", function () {
            var clipboard = window.clipboardData.getData("Text");
            if (/^(d|[a-zA-Z])+$/.test(clipboard))
                return true;
            else
                return false;
        });
    };
    限制只能输入数字和字母

    使用方法:首先在画面加载完成之后编写如下的JS脚本

    $(function () {
        // 限制使用了onlyNum类样式的控件只能输入数字
        $(".onlyNum").onlyNum();
        //限制使用了onlyAlpha类样式的控件只能输入字母
        $(".onlyAlpha").onlyAlpha();
        // 限制使用了onlyNumAlpha类样式的控件只能输入数字和字母
        $(".onlyNumAlpha").onlyNumAlpha();
       });

    对需要做输入控制的控件设置class样式

     <ul>
            <li>只能输入数字:<input type="text" class="onlyNum" /></li>
            <li>只能输入字母:<input type="text" class="onlyAlpha" /></li>
            <li>只能输入数字和字母:<input type="text" class="onlyNumAlpha" /></li>
    </ul>

    这样画面上凡是设置了class="onlyNum"的控件就只能输入数字,设置了class="onlyAlpha"的控件只能输入字母,设置了class="onlyNumAlpha"的控件只能输入数字和字母,通过这种方式就可以限制了用户的输入范围,避免用户进行一些非法的输入。

      在我看来,这种限制控件输入的方式是比较好的一种方式,可以避免用户犯错,平时传统的做法都是用户输入了非法字符后,我们再弹出一个消息框告诉用户输入了非法字符,这种方式就是"用户已经做了,我们才告诉用户不能这么做",而上面的那种方式是却能让用户只能输入我们指定范围内的字符,让"用户永远没有机会去犯错"。

  • 相关阅读:
    《数据结构》C++代码 线性表
    《数据结构》C++代码 Splay
    《数据结构》C++代码 前言
    蓝桥杯- 算法提高 最大乘积
    HDU-1241 Oil Deposits
    一个简单的网站计数器
    编写一个jsp页面,输出九九乘法表。
    Sum It Up
    历届试题 剪格子
    历届试题 分糖果
  • 原文地址:https://www.cnblogs.com/weixing/p/4757371.html
Copyright © 2011-2022 走看看