如何用jquery验证文本框只能输入字母数字和下划线

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用jquery验证文本框只能输入字母数字和下划线相关的知识,希望对你有一定的参考价值。

由数字、26个英文字母或者下划线组成的字符串可用jquery正则表达式:  /^\\w+$/,验证代码为:

 var reg = /^\\w+$/;
 if(reg.test($("input:text").val()))
   // 验证通过
 else
   // 验证失败

下面给出实例演示:

    创建html元素

    <div class="box">
    <span>请输入用户名,限定字母、数字或下划线的组合:</span><br>
    <div class="content">
    <input type="text"/>
    </div>
    <input type="button" value="验证">
    </div>

    设置css样式

    div.boxwidth:300px;padding:10px 20px;margin:20px;border:4px dashed #ccc;
    div.box>spancolor:#999;font-style:italic;
    div.contentwidth:250px;height:50px;margin:10px 0;padding:5px 20px;border:2px solid #ff6666;
    input[type='text']width:250px;height:40px;padding:0 5px;border:1px solid #6699cc;
    input[type='button']height:30px;margin:10px;padding:5px 10px;

    编写jquery代码

    $(function()
    // 设置属性值
    $("input:button").click(function() 
    var reg = /^\\w+$/;
    // 如果验证失败给出警告
    if(!reg.test($("input:text").val()))
    alert("用户名限定为字母、数字或下划线的组合");

    );
    )

    观察效果

参考技术A

由数字、26个英文字母或者下划线组成的字符串可用jquery正则表达式:
 /^\\w+$/,验证代码为:
 var reg = /^\\w+$/;
 if(reg.test($("input:text").val()))
   // 验证通过
 else
   // 验证失败
下面给出实例演示:
创建Html元素
<div class="box">
<span>请输入用户名,限定字母、数字或下划线的组合:</span><br>
<div class="content">
<input type="text"/>
</div>
<input type="button" value="验证">
</div>
设置css样式
div.boxwidth:300px;padding:10px 20px;margin:20px;border:4px dashed #ccc;
div.box>spancolor:#999;font-style:italic;
div.contentwidth:250px;height:50px;margin:10px 0;padding:5px 20px;border:2px solid #ff6666;
input[type='text']width:250px;height:40px;padding:0 5px;border:1px solid #6699cc;
input[type='button']height:30px;margin:10px;padding:5px 10px;
编写jquery代码
$(function()
// 设置属性值
$("input:button").click(function() 
var reg = /^\\w+$/;
// 如果验证失败给出警告
if(!reg.test($("input:text").val()))
alert("用户名限定为字母、数字或下划线的组合");
);
)
观察效果

参考技术B <input type="text" onkeyup="var reg = /^[\d\_a-zA-Z]+$/;if(!reg.test(this.value)) this.value='';" /> 参考技术C 用keycode应该可以实现限定只能输入数字和下划线

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

用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"的控件只能输入数字和字母,通过这种方式就可以限制了用户的输入范围,避免用户进行一些非法的输入。

以上是关于如何用jquery验证文本框只能输入字母数字和下划线的主要内容,如果未能解决你的问题,请参考以下文章

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

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

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

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

如何用正则表达式验证用户名

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