在JSP如何实现判断注册名是否符合用户名规定(由数字、字母、下划线构成)?急 急 急

解决方案 »

  1. 首先将表单提交到一个验证页面,然后页面判断是否合法
    推荐使用正则表达式
    简单点就如
    String username = request.getParameter("username");
    if(username!=""&&!username.eqauls(null)
    {
    if(username=="^[a-zA-Z0-9_\u4e00-\u9fa5]+$")
    {
    %>
    用户名合法
    <%
    else
    %>
    用户名不合法,请重新输入
    <%
    }
    }
      

  2. 两种方式
    正则,或者一个字符一个字符比较<%!
     static boolean voli1(String s)
      {
       return java.util.regex.Pattern.matches("[0-9A-Za-z_]+",s);
      } 
      
      static boolean voli2(String s)
      {
       if(s==null||s.trim()=="") return false;
       for(int i=0;i<s.length();i++)
       {
       if(!(s.charAt(i)>='0'&&s.charAt(i)<='9'||s.charAt(i)>='a'&&s.charAt(i)<='z'||s.charAt(i)>='A'&&s.charAt(i)<='Z'||s.charAt(i)=='_'))
       {
       return false;
       }
       }
       return true;
      }
    %>
    <%
    if(voli1(username)) //或者if(voli2(username))
    {
    //合法
    }else
    {
    //不合法
    }
    %>
      

  3. 前台用javascript+正则式验证
    后台也需要再作验证,同样也可用正则表达式。
      

  4. 楼上说的很对,
    js+正则表达式,
    java+正则表达式,java查相关api,js找几个例子看看,就应该差不多
      

  5. 如果你有框架的话,如struts可以用validate();
    也可以用js写正则表达式
      

类似问题 »