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

TigerZhang TigerZhang     2022-09-20     454

关键词:

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

  在公司开发WinForm项目时,发现公司自主研发的textbox控件非常强大,可以实现"只能输入数字"、"只能输入字母"和"只能输入数字和字母"的三种输入限制,这样就可以精确控制用户输入的内容范围,让"用户永远没有办法输入限定的内容范围之外的其他内容",也就是"用户即使想犯错误也没有机会",这种限制控件输入的方式给了我很大的启发,如果在web项目中也能做到这样的精确控制,那么就可以避免因为一些非法输入而造成系统出错,既然WinForm里面可以实现这样的控件,那么web项目里面也应该有办法去实现类似这样的控件或者能够做到类似的效果,经过自己的一番研究和查找资料,终于做到了类似的效果,针对"只能输入数字"、"只能输入字母"和"只能输入数字和字母"的三种输入限制,我封装成onlyNum(),onlyAlpha()和onlyNumAlpha()3个Jquery扩展方法,方便复用,由于里面一些JS代码涉及到了"禁用输入法,获取剪切板的内容",而"禁用输入法,获取剪切板的内容"只能在IE浏览器下才有效,对于别的浏览器是无效的,因此这三个方法只适合在IE浏览器下使用才有效,三个方法的代码如下

一、限制只能输入数字

 1 // ----------------------------------------------------------------------
 2 // <summary>
 3 // 限制只能输入数字
 4 // </summary>
 5 // ----------------------------------------------------------------------
 6 $.fn.onlyNum = function () {
 7     $(this).keypress(function (event) {
 8         var eventObj = event || e;
 9         var keyCode = eventObj.keyCode || eventObj.which;
10         if ((keyCode >= 48 && keyCode <= 57))
11             return true;
12         else
13             return false;
14     }).focus(function () {
15     //禁用输入法
16         this.style.imeMode = 'disabled';
17     }).bind("paste", function () {
18     //获取剪切板的内容
19         var clipboard = window.clipboardData.getData("Text");
20         if (/^\d+$/.test(clipboard))
21             return true;
22         else
23             return false;
24     });
25 };

二、限制只能输入字母

 1 // ----------------------------------------------------------------------
 2 // <summary>
 3 // 限制只能输入字母
 4 // </summary>
 5 // ----------------------------------------------------------------------
 6 $.fn.onlyAlpha = function () {
 7     $(this).keypress(function (event) {
 8         var eventObj = event || e;
 9         var keyCode = eventObj.keyCode || eventObj.which;
10         if ((keyCode >= 65 && keyCode <= 90) || (keyCode >= 97 && keyCode <= 122))
11             return true;
12         else
13             return false;
14     }).focus(function () {
15         this.style.imeMode = 'disabled';
16     }).bind("paste", function () {
17         var clipboard = window.clipboardData.getData("Text");
18         if (/^[a-zA-Z]+$/.test(clipboard))
19             return true;
20         else
21             return false;
22     });
23 };

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

 1 // ----------------------------------------------------------------------
 2 // <summary>
 3 // 限制只能输入数字和字母
 4 // </summary>
 5 // ----------------------------------------------------------------------
 6 $.fn.onlyNumAlpha = function () {
 7     $(this).keypress(function (event) {
 8         var eventObj = event || e;
 9         var keyCode = eventObj.keyCode || eventObj.which;
10         if ((keyCode >= 48 && keyCode <= 57) || (keyCode >= 65 && keyCode <= 90) || (keyCode >= 97 && keyCode <= 122))
11             return true;
12         else
13             return false;
14     }).focus(function () {
15         this.style.imeMode = 'disabled';
16     }).bind("paste", function () {
17         var clipboard = window.clipboardData.getData("Text");
18         if (/^(\d|[a-zA-Z])+$/.test(clipboard))
19             return true;
20         else
21             return false;
22     });
23 };

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

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

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

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

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

js怎么控制文本框只能输入数字

...入一段数字:5、当输入字母时,就会弹出警告了,至此js控制文本框只能输入数字的功能就实现了: 查看详情

js怎么控制文本框只能输入数字

...入一段数字:5、当输入字母时,就会弹出警告了,至此js控制文本框只能输入数字的功能就实现了:参考技术A一般都是通过正则表达式进行判断的。下面是简单的代码实现。仅供参考:1.文本框只能输入数字代码(小数点也不能... 查看详情

怎么让输入框只能输入数字和小数点?

...t;48||event.keyCode>57))event.returnValue=false">这个属性来控制输入框汉字还是能被输入,尽量使用输入框的属性使不能输入不要引发事件有没有好的方法有时需要限制文本框输入内容的类型,本节分享下正则表达式限制文本框只... 查看详情

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

1.文本框只能输入数字代码(小数点也不能输入) <inputonkeyup="this.value=this.value.replace(/D/g,‘‘)"onafterpaste="this.value=this.value.replace(/D/g,‘‘)"> 2.只能输入数字,能输小数点. <inputonkeyup="if(isNaN(v 查看详情

文本框只能输入数字字母,屏蔽粘贴

对文本框进行输入限制,使得文本框只能输入(或不能输入)数字/字母/汉字等等。操作方法很多,主要用到了正则表达式,onkeyup,onafterpaste。在需求上可能不止这些情况,或者有交叉需求的情况,可以根据不同条件自行修改语... 查看详情

在c#中怎么用正则表达式限制文本框内不能输入数字?

只能输入数字:"^[0-9]*$"。只能输入n位的数字:"^\dn$"。只能输入至少n位的数字:"^\dn,$"。只能输入m~n位的数字:。"^\dm,n$"只能输入零和非零开头的数字:"^(0|[1-9][0-9]*)$"。只能输入有... 查看详情

wpf限制文本框只能输入数字

在一个程序中有时候文本框需要添加限制,比如需要限制文本框只能输入数字,限制文本框只能输入数字和字母等等。先来介绍文本框只能输入数字<TextBoxPreviewTextInput="UserName_PreviewTextInput"//限制输入特殊字符PreviewKeyDown="Space_Pr... 查看详情

jquery限制文本框只能输入数字和小数点的方法

<inputtype="text"class="txtNumText" Width="100px" />$(function(){         /*JQuery限制文本框只能输入数字*/       $( 查看详情

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

...]+$中文和英文/^[\u0391-\uFFE5A-Za-z]+$/js正则表达式限制文本框只能输入数字,小数点,英文字母,汉字等各类代码1.文本框只能输入数字代码(小数点也不能输入)<inputonkeyup="this.value=this.value.replace(/\D/g,'')"onafterpaste... 查看详情

js控制文本框只能输入中文英文数字等

总而言之:先在<input>里输入onkeyup="value=value.replace(/[^X]/g,‘‘)"然后在(/[X]/g,‘‘)里的X换成你想输入的代码就可以了,中文u4E00-u9FA5,数字0-9,英文a-zA-Z,其它符号@、点或其它符号。也可以多个,用隔开就行了。 例如:中... 查看详情

在html中,怎么让一个文本框只能输入数字,下划线,字母,要在script中实现

表单提交的时候,要验证文本框的输入,怎么判断输入的只能是数字,下划线,字母<inputtype="text"onpropertychange="javascript:if(this.value!=this.value.replace(/\\W/g,\'\'))this.value=this.value.replace(/\\W/g,\'\')">参考技术A思路:从网上搜索一下"... 查看详情

js控制文本框只能输入中文英文数字与指定特殊符号

原文:http://www.open-open.com/code/view/1433592419640 JS控制文本框只能输入数字 <inputonkeyup="value=value.replace(/[^0-9]/g,‘‘)"onpaste="value=value.replace(/[^0-9]/g,‘‘)"oncontextmenu="value=value.re 查看详情

js验证如何限制文本框只能输入数字

麻烦哪位大侠能帮忙解决一下...非常感谢了.代码最好写上注释哈!1.js验证只能输入数字.2.js验证只能输入字母.数字和下划线.3.js验证固定电话:只能是数字.并且有相应的格式028-67519441或者0839-8777222或者028-6545124js进行数据校验使... 查看详情

用正则表达式限制文本框只能输入数字和+

...你一将键盘按下不松,它是不会触发onkeyup事件的,你的文本框又可以输入其它字符了。解决方法:把后面事件里的内容写成方法,在onkeyup,和onkeydown两个事件里都调用该方法就可以了!不好意思刚发现那个"g",我也不大清... 查看详情

文本框只能输入小数点和数字或者只能输入数字

 //只能输入数字$(".int").attr("onkeyup","this.value=this.value.replace(/[^\d]/g,‘‘)");$(".int").attr("onkeypress","onlyNumber(event);");$(".int").attr("onafterpaste","onlyNumber(event);");//只能输入小数点$( 查看详情

jquery怎么校验字母和数字

正则表达式整数或者小数:^[0-9]+\\.0,1[0-9]0,2$只能输入数字:"^[0-9]*$"。只能输入n位的数字:"^\\dn$"。只能输入至少n位的数字:"^\\dn,$"。只能输入m~n位的数字:。"^\\dm,n$"只能输入零和非零开头的数字... 查看详情

js怎么控制文本框输入的长度

JS控制文本框输入的长度的方法如下:1、html页面中有以下文本:<inputid="groupidtext"type="text"style="width:100px;"maxlength="6"/></td>2、用js限制输入的最大长度的脚本如下:$(function)$('#groupidtext')... 查看详情

c#winform中验证在文本框输入的只能是数字和字母,这个怎么做???

而且只能是输入8位参考技术Aif(textBox1.Text.Length>0&&textBox1.Text.Length<=8)for(inti=0;i<textBox1.Text.Length;i++)if((textBox1.Text[i]>='a'&&textBox1.Text[i]<='z')||(textBox1.Text[i]>='A'&&textBox1.Text[i]<='Z')||(textBox1.Text[i]>... 查看详情