如何只允许文本框中输入汉字,字母与空格

时间:2022-11-05 15:03:22
代码如下: 想加上判断,只允许汉字,字母与空格 然后提示。 高手指点指点。
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>无标题页</title>
    

    <script type="text/javascript" language="javascript">    function txttitle_onblur()
{
   var name = document.getElementById("txtname").value;
    var bool = 1;
    if(name=="")
    {
        bool = 0;
        document.getElementById("title_kong").style.display="block";
        document.getElementById("div_title_right").style.display="none";
        document.getElementById("txtname").className="tdFocus";
        
    }
    else
    {
          var bool = 1;
          document.getElementById("title_kong").style.display="none";
          document.getElementById("div_title_right").style.display="block";
          document.getElementById("txtname").className="tdRight";
    }
    return bool;
}
</script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
                                        <table width="100%" border="0" cellpadding="0" cellspacing="0">
                                        <tr>
                                            <td width="11%" align="right">
                                                <span class="red12">*</span>品牌标题:
                                            </td>
                                            <td width="392">
                                                <input id="txtname" type="text" runat="server" onblur="txttitle_onblur()" maxlength="50" />
                                                
                                            </td>
                                            <td width="222">
                                                <div class="tishi" style="display: none;" id="title_kong">
                                                    品牌标题不能为空</div>
                                                <div class="right" style="display: none;" id="div_title_right">
                                                    填写正确</div>
                                            </td>
                                        </tr>
                                    </table>
    </div>
    </form>
</body>
</html>

10 个解决方案

#1


帮顶、顺便推荐LZ去看下正则函数;
解决这类问题很方便!

#2


关键是正则表达式。
<input onchange="check()"……
check里使用正则表达式匹配

#3


/^[a-zA-Z\u4e00-\u9fa5\s]*$/

#4



function test1(){
            var resx = /[^\u4E00-\u9FA5\w]/g;
            var val = document.getElementById("txt").value;
            if(resx.test(val)){
                alert("错误");
            }else{
                alert("正确");
            }
        }


 <input id="txt" type="text" onchange="test1()" />  

#5


只允许输入英文  汉字 空格。 上面的不对啊。

#6


正则表达式验证
/[\u4e00-\u9fa5 A-Za-z]/g

#7


这种混输的还是判断不出来啊 还是被认为正确abc123

#8


引用 6 楼 wuyq11 的回复:
正则表达式验证
/[\u4e00-\u9fa5 A-Za-z]/g


+1

#9


这种输入怎么判断呢 求教啊
abc123 或者123abc 这样都是默认为正确了。

#10


用js做check好了,你通过修改e的值实现对相应的输入进行控制
//数字的验证
        function valNum(ev) {
            var e = ev.keyCode;
            //允许的有大、小键盘的数字,左右键,backspace, delete, Control + C, Control + V
            if (e != 48 && e != 49 && e != 50 && e != 51 && e != 52 && e != 53 && e != 54 && e != 55 && e != 56 && e != 57 && e != 96 && e != 97 && e != 98 && e != 99 && e != 100 && e != 101 && e != 102 && e != 103 && e != 104 && e != 105 && e != 37 && e != 39 && e != 13 && e != 8 && e != 46 && e != 190) {
                if (ev.ctrlKey == false) {
                    //不允许的就清空!
                    ev.returnValue = "";
                }
                else {
                    //验证剪贴板里的内容是否为数字!
                    valClip(ev);
                }
            }
        }
        //验证剪贴板里的内容是否为数字!
        function valClip(ev) {
            //查看剪贴板的内容!
            var content = clipboardData.getData("Text");
            if (content != null) {
                try {
                    var test = parseInt(content);
                    var str = "" + test;
                    if (isNaN(test) == true) {
                        //如果不是数字将内容清空!
                        clipboardData.setData("Text", "");
                    }
                    else {
                        if (str != content)
                            clipboardData.setData("Text", str);
                    }
                }
                catch (e) {
                    //清空出现错误的提示!
                    alert("粘贴出现错误!");
                }
            }
        }

#1


帮顶、顺便推荐LZ去看下正则函数;
解决这类问题很方便!

#2


关键是正则表达式。
<input onchange="check()"……
check里使用正则表达式匹配

#3


/^[a-zA-Z\u4e00-\u9fa5\s]*$/

#4



function test1(){
            var resx = /[^\u4E00-\u9FA5\w]/g;
            var val = document.getElementById("txt").value;
            if(resx.test(val)){
                alert("错误");
            }else{
                alert("正确");
            }
        }


 <input id="txt" type="text" onchange="test1()" />  

#5


只允许输入英文  汉字 空格。 上面的不对啊。

#6


正则表达式验证
/[\u4e00-\u9fa5 A-Za-z]/g

#7


这种混输的还是判断不出来啊 还是被认为正确abc123

#8


引用 6 楼 wuyq11 的回复:
正则表达式验证
/[\u4e00-\u9fa5 A-Za-z]/g


+1

#9


这种输入怎么判断呢 求教啊
abc123 或者123abc 这样都是默认为正确了。

#10


用js做check好了,你通过修改e的值实现对相应的输入进行控制
//数字的验证
        function valNum(ev) {
            var e = ev.keyCode;
            //允许的有大、小键盘的数字,左右键,backspace, delete, Control + C, Control + V
            if (e != 48 && e != 49 && e != 50 && e != 51 && e != 52 && e != 53 && e != 54 && e != 55 && e != 56 && e != 57 && e != 96 && e != 97 && e != 98 && e != 99 && e != 100 && e != 101 && e != 102 && e != 103 && e != 104 && e != 105 && e != 37 && e != 39 && e != 13 && e != 8 && e != 46 && e != 190) {
                if (ev.ctrlKey == false) {
                    //不允许的就清空!
                    ev.returnValue = "";
                }
                else {
                    //验证剪贴板里的内容是否为数字!
                    valClip(ev);
                }
            }
        }
        //验证剪贴板里的内容是否为数字!
        function valClip(ev) {
            //查看剪贴板的内容!
            var content = clipboardData.getData("Text");
            if (content != null) {
                try {
                    var test = parseInt(content);
                    var str = "" + test;
                    if (isNaN(test) == true) {
                        //如果不是数字将内容清空!
                        clipboardData.setData("Text", "");
                    }
                    else {
                        if (str != content)
                            clipboardData.setData("Text", str);
                    }
                }
                catch (e) {
                    //清空出现错误的提示!
                    alert("粘贴出现错误!");
                }
            }
        }