博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JQuery 限制文本输入只能输入数字(可自定义正则表达式)
阅读量:7033 次
发布时间:2019-06-28

本文共 2407 字,大约阅读时间需要 8 分钟。

 

var JVerify = {    role: { number: /[0-9\/]/, decimal: /[0-9\.\/]/, code: /[0-9A-Z]/ },    Verify: function () {        for (var prop in JVerify.role) {            $("[role^='" + prop + "']").each(function () {                var obj = $(this);                var values = obj.attr("role").split("-");                var length = 16;                if (values.length > 1) {                    length = values[1];                }                obj.attr("maxlength", length);                obj.bind("input propertychange", function () {                    var input = $(this);                    var text = input.val();                    input.val("");                    var content = "";                    var attr = $(this).attr("role");                    var regex = JVerify.role[values[0]];                    var isDot = false;                    var array = attr.split("-");                    var number = length;                    if (array.length == 3) {                        number = Number(array[2]);                    }                    for (var i = 0, index = 0; i < text.length; i++) {                        if (text[0] == ".") {                            continue;                        }                        if (text[i] == ".") {                            if (isDot == false) {                                content += ".";                                isDot = true;                                index = i;                            }                            continue;                        }                        if ((i - 0 == 1 && text[0] == "0" && text[i] == "0") || isDot && (index + number < i)) {                            continue;                        }                        if (regex.test(text[i])) {                            content += text[i];                        }                    }                    input.val(content);                }).blur(function () {                    var value = $(this).val();                    if (value[value.length - 1] === ".") {                        $(this).val(value.substr(0, value.length - 1));                    }                });            })        }    }}

 

如只需输入小数,屏蔽非数字字符,在html中的input元素input添加属性role=“decimal-6-1”即可,尾数6为input的输入长度,1的意思为保留1位小数,调用代码如下:

JVerify.Verify();

 如需自定义正则表达式,给JVerify.role添加属性即可,如下所示:

JVerify.role.myRegex = /[a-z]/;

 

转载于:https://www.cnblogs.com/feiyuhuo/p/9482456.html

你可能感兴趣的文章
KVM主机在线增加硬盘爬坑记
查看>>
【Linxu学习004】Bash Shell 相关
查看>>
Linux 下的shell
查看>>
iptables 知识-filter表
查看>>
Windows平台视频显示问题
查看>>
python性能分析
查看>>
备份与还原---bacula简介
查看>>
Windows Live Writer Test
查看>>
读书笔记之顺序循环队列
查看>>
我的友情链接
查看>>
转换jdk版本
查看>>
一生的朋友
查看>>
perl学习笔记——匹配模式
查看>>
分布式系统接口幂等性
查看>>
angularJS跳转返回刷新
查看>>
《Android 群英传》笔记-第二章 Android开发工具全接触
查看>>
Masonry整理
查看>>
世界之大,无不分层
查看>>
linux redhat5+11g
查看>>
centOS7 安装 JAVA环境
查看>>