黑马程序员技术交流社区

标题: javaScirpt验证用户名 [打印本页]

作者: yunqiangshan    时间: 2011-12-25 12:17
标题: javaScirpt验证用户名
本帖最后由 yunqiangshan 于 2011-12-25 22:33 编辑

网页错误详细信息
想这样if(('a'<=name.charAt(0))&(name.charAt(0)<='z'))判断输入用户名的第一个字符是不是在a到z之间,为什么显示下面的错误信息
消息: 'a' 未定义
行: 12
字符: 4
代码: 0
URI: file:///E:/workspace/basetest/src/com/itheima/checkoutRegister.html


作者: 左华清    时间: 2011-12-25 20:46
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title></title>
    <script type="text/javascript">
        function check() {
            var userName = document.getElementById("txtUserName");
            if (userName != null) {
                var name = userName.value;
                //alert(name.charAt(0));
                if (name.charAt(0)>="a"&&name.charAt(0)<="z") {
                    alert("匹配成功");
                }
            }
         }
    </script>
</head>
<body>
<input type="text" id="txtUserName" />
<input type="button" value="点我" onclick="check();" />
</body>
</html>

因为你的代码贴的不全,不过有一个逻辑可以确定不正确,等式左边是变量,
你那样写是给a赋值,这个建议你用正则表达式试试.

var exp = /^[A-Za-z\_]+$/; //以字母下划线开头
                    if (userName.length < 6 || userName.length > 16 || !exp.test(userName)) {
                        alert("用户名须以字母或下划线开头且长度为6-16个字符");
                        return false;
                    }
用户名:<input type="text" name="txtUserName" id="txtUserName" /><br />




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2