js控制input text字符键入/字符长度限制/字母自动大写

功能:

1.仅允许指定字符键入

2.限制长度

 

实现代码:

<input type="text" style="width: 6em" name="referral" maxlength="6"/>
复制代码
$('input[name=referral]').on('keydown', function(event) {
        if(event.which==229){ //中文输入法,keydown不控制,利用keyup控制
            return true;
        }
        //数字+小键盘数字
        if(event.which >=48 && event.which <=57 || event.which >=96 && event.which <=105){
            return true;
        }else if(event.which >= 65 && event.which <= 90){ //字母
            if($(this).val().length==6){
                return false; //html长度限制不生效了,这里做个限制
            }
            $(this).val($(this).val()+String.fromCharCode(event.which));
            return false; //阻止键入
        }else if(event.which==8 || event.which==46 || event.which>=37 && event.which<=40){
            //退格键、删除键、方向键
            return true;
        }else{
            return false;
        }
    });
    $('input[name=referral]').on('keyup',function (event) {
        if(event.which==32 || event.which==13) { //空格、回车键入
            var value = $(this).val();
            value = value.replace(/[^0-9a-zA-Z]/g, '').toUpperCase();
            $(this).val(value);
            return false;
        }
    });
复制代码

 

posted @   追极  阅读(3133)  评论(0编辑  收藏  举报
编辑推荐:
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
· DeepSeek 解答了困扰我五年的技术问题
阅读排行:
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
点击右上角即可分享
微信分享提示