如何使字符串必须以带有JavaScript的大写字母开头?

时间:2011-06-06 18:43:52

标签: javascript

      <form action="http://www.cknuckles.com/cgi/echo.cgi" method="get" name="logOn">
              User Name:<br />
          <input type="text" name="userName" size="25" /><br />
              Password:<br />
          <input type="password" name="pw" size="25" /><br />

          <input type="submit" value="Log In" onClick="validate()"/> 
      </form>

这就是我的HTML,我已经想出如何只将字母数字数据输入到字段中,但是如何让它只允许以大写字母开头的用户名呢?

      <script language="javascript">

              </script> 

4 个答案:

答案 0 :(得分:3)

检查此问题的最简单方法是使用regular expression

function(str){
    return /^[A-Z]/.test(str);
}
当输入字符串以大写字母开头时,

返回true,否则返回false。 (这个特殊的正则表达式 - //字符之间的位 - 表示'匹配字符串的开头,后跟A-Z范围内的任何单个字符。)

就上面的HTML而言,我们需要validate()函数的内容来确定正则表达式匹配的位置。

答案 1 :(得分:0)

在验证功能中,使用正则表达式match,如下所示:

 if (titleString.match(/^[A-Z]/))
     <ok>

答案 2 :(得分:0)

var letter = str[0];
if (letter !== letter.toUpperCase()){
   //not uppercase!
}

答案 3 :(得分:0)

这将检查输入的用户名是否以大写字母开头,后面跟着5 - 24个字母数字字符。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html>

    <head>

        <script type="text/javascript">

            function validate() {

                var the_input = document.getElementById('userName').value;

                if (!the_input.match(/^[A-Z]([A-Z]|[a-z]|[0-9]){5,24}$/)) {

                    alert('Your username must begin with a capital letter, and contain between 6 and 25 alphanumeric characters.');

                    return false;

                } else {

                    alert('Welcome!');

                    return true;

                }

            }

        </script>

    </head>

    <body>

        <form action="http://www.cknuckles.com/cgi/echo.cgi" method="get" name="logOn">

            User Name:<br />

            <input type="text" name="userName" id="userName" size="25" /><br />
            Password:<br />
            <input type="password" name="pw" size="25" /><br />

            <input type="submit" value="Log In" onclick="return validate();"/>

        </form>

    </body>

</html>

顺便说一句,应该注意的是,如果用户关闭了javascript,这将无效 - 您可能希望将某些服务器端验证(或另外)作为故障安全进行验证。