JQ 限制文本框 数字 小数 字母

最近在项目中要控制文件框的输入,Google了一下,找到一些方法。并修改。以下代码经过验证,可以正常使用。

// ----------------------------------------------------------------------
// <summary>
// 文本框只能输入数字(不包括小数),并屏蔽输入法和粘贴
// </summary>
// ----------------------------------------------------------------------
$.fn.integer = function () {
    this.bind("keypress", function (e) {
        var code = (e.keyCode ? e.keyCode : e.which); //兼容火狐 IE
        if (!$.browser.msie && (e.keyCode == 0x8)) { //火狐下不能使用退格键
            return;
        }
        return code >= 48 && code <= 57;
    });
    this.bind("paste", function () {
        return false;
    });
    this.bind("keyup", function () {
        if (/(^0+)/.test(this.value)) {
            this.value = this.value.replace(/^0*/, ‘‘);
        }
    });
    this.bind("focus", function () {
        this.style.imeMode = ‘disabled‘;
    });
    this.bind("blur", function () {
        var reg = /^\d{1,}$/;
        if (this.value.slice(-1) == "") {
            this.value = "0";
        }
        if (reg.test(this.value) === false) {
            this.value = "0";
        }
    });
};

// ----------------------------------------------------------------------
// <summary>
// 文本框只能输入数字(包括小数),并屏蔽输入法和粘贴
// </summary>
// ----------------------------------------------------------------------
$.fn.number = function () {
    this.bind("keypress", function (e) {
        var code = (e.keyCode ? e.keyCode : e.which); //兼容火狐 IE
        if (!$.browser.msie && (e.keyCode == 0x8)) { //火狐下不能使用退格键
            return;
        }
        if (this.value.indexOf(".") == -1) {
            return (code >= 48 && code <= 57) || (code == 46);
        } else {
            return code >= 48 && code <= 57
        }
    });
    this.bind("paste", function () {
        return false;
    });
    this.bind("keyup", function () {
        if (this.value.slice(0, 1) == ".") {
            this.value = "";
        }
    });
    this.bind("focus", function () {
        this.style.imeMode = ‘disabled‘;
    });
    this.bind("blur", function () {
        var reg = /^-?[^\D]+\.?[^\D]{1,4}$/;
        if (this.value.slice(-1) == ".") {
            this.value = this.value.slice(0, this.value.length - 1);
        }
        if (this.value.slice(-1) == "") {
            this.value = "0";
        }
        if (reg.test(this.value) === false) {
            this.value = "0";
        }
    });
};

// ----------------------------------------------------------------------
// <summary>
// 限制只能输入字母
// </summary>
// ----------------------------------------------------------------------
$.fn.onlyAlpha = function () {
    this.bind("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;
    });
    this.bind("paste", function () {
        var clipboard = window.clipboardData.getData("Text");
        if (/^[a-zA-Z]+$/.test(clipboard))
            return true;
        else
            return false;
    });
    this.bind("focus", function () {
        this.style.imeMode = ‘disabled‘;
    });
};

// ----------------------------------------------------------------------
// <summary>
// 限制只能输入数字和字母
// </summary>
// ----------------------------------------------------------------------
$.fn.onlyNumAlpha = function () {
    this.bind("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;
    });
    this.bind("paste", function () {
        var clipboard = window.clipboardData.getData("Text");
        if (/^(\d|[a-zA-Z])+$/.test(clipboard))
            return true;
        else
            return false;
    });
    this.bind("focus", function () {
        this.style.imeMode = ‘disabled‘;
    });
};

使用方法以:

$("#Id").integer();
$("#Id").number();
$("#Id").onlyAlpha();
$("#Id").onlyNumAlpha();
时间: 2024-10-12 07:07:23

JQ 限制文本框 数字 小数 字母的相关文章

JavaScript实现在页面上的文本框中输入小写字母自动变为大写字母

<script language="javascript" type="text/javascript"> $(function () { $("input[type=text]").keyup(function () { $(this).val($(this).val().toUpperCase()); }); }); </script> $("input[type=text]") 处可为文本框ID,

jquery正则表达式显示文本框输入范围 只能输入数字、小数、汉字、英文字母的方法

正则表达式限制文本框只能输入数字 许多时候我们在制作表单时需要限制文本框输入内容的类型,下面我们用正则表达式限制文本框只能输入数字.小数点.英文字母.汉字等各类代码.1.文本框只能输入数字代码(小数点也不能输入)<input onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')">2.只能输入数字,能输

JavaScript 中怎样判断文本框只能输出英文字母、汉字和数字,不能输入特殊字符!

JS-只能输入中文和英文2008-11-08 10:17在js中用正则表达式对象(RegExp)判断中文 ^[\u0391-\uFFE5]+$英文 ^[A-Za-z]+$中文和英文/^[\u0391-\uFFE5A-Za-z]+$/ js正则表达式限制文本框只能输入数字,小数点,英文字母,汉字等各类代码 1.文本框只能输入数字代码(小数点也不能输入)<input onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpa

replace限制文本框只能输入数字,数字和字母等的正则表达式

1.文本框只能输入数字代码(小数点也不能输入) <input onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')"> 2.只能输入数字,能输小数点. <input onkeyup="if(isNaN(value))execCommand('undo')" onafterpas

用Jquery控制文本框只能输入数字和字母

只为成功找方法,不为失败找借口! 用Jquery控制文本框只能输入数字和字母 在公司开发WinForm项目时,发现公司自主研发的textbox控件非常强大,可以实现"只能输入数字"."只能输入字母"和"只能输入数字和字母"的三种输入限制,这样就可以精确控制用户输入的内容范围,让"用户永远没有办法输入限定的内容范围之外的其他内容",也就是"用户即使想犯错误也没有机会",这种限制控件输入的方式给了我很大的启发,

C# 使用js正则表达式,让文本框只能输入数字和字母,最大长度5位

使用js正则表达式,让文本框只能输入数字和字母,最大长度5位,只需要加个onkeyup事件,即可简单实现 <asp:TextBox ID="txtBegin" runat="server" size="5" maxlength="5" onkeyup="value=value.replace(/[^\a-\z\A-\Z0-9]/g,'')"></asp:TextBox> C# 使用j

规定文本框只能够输入数字包括小数的jQuery代码

规定文本框只能够输入数字包括小数的jQuery代码:文本框有时候规定只能够输入整数,这里就不多介绍了,具体可以参阅jQuery如何规定文本框只能输入整数一章节,不过有时候也可以输入小数,下面就通过代码实例介绍一下如何实现此功能.代码实例如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="author" content="

文本框输入限定数字或小数

<input id="amount" style="IME-MODE: disabled; WIDTH: 60px; HEIGHT: 15px" onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')" maxlength="5" size="

在实现文本框只能输入数字和小数点的基础上实现了价格样式(保留两位小数)

我在测试充值接口的时候,输入金额保留到小数点后三位的时候程序就报错,后来就想到充值金额最多只能保留到小数点后两位,下面就是我用JQuery实现的详细代码,仅供参考,大神勿喷 1 $(function() { 2 //阻止数字键以外的按键输入 3 $("#zf_money").keydown(function(e) { 4 digitInput($(this),e); 5 }); 6 $("#zf_money").keyup(function() { 7 if($(t