<asp:TextBox ID="Password_TextBox" runat="server" Width="272px" TextMode="Password" MaxLength="16"  > </asp:TextBox> 
<script> 
function CheckPassword() { 
        var temp = document.getElementById(' <%=Password_TextBox.ClientID %>').value; 
        if (CheckStr(temp ,6,16)){ 
            alert('抱歉!密码字母和数字组合!'); 
            return false; 
        } 
        else { 
            //alert("是"); 
            return true; 
        } 
    } 
    function CheckStr(str, s, e) 
    { 
        var m = eval("/^[a-zA-Z0-9_\-]{" + s + "," + e + "}$/"); 
        return m.test(trim(str));     } 
    function trim(s) 
    { 
        return s.replace(/\s/g, ""); 
    } 
</script> 
cs文件添加: 
this.Password_TextBox.Attributes.Add("onblur", "CheckPassword()"); 

解决方案 »

  1.   

    <asp:TextBox ID="Password_TextBox" runat="server" Width="272px" TextMode="Password" MaxLength="16"  > </asp:TextBox> 
    <script> 
    function CheckPassword() { 
            var temp = document.getElementById(' <%=Password_TextBox.ClientID %>').value; 
            if (!CheckStr(temp ,6,16)){ 
                alert('抱歉!密码字母和数字组合!'); 
                return false; 
            } 
            else { 
                //alert("是"); 
                return true; 
            } 
        } 
        function CheckStr(str, s, e) 
        { 
            var m = eval("/^[a-zA-Z0-9_\-]{" + s + "," + e + "}$/"); 
            return m.test(trim(str));     } 
        function trim(s) 
        { 
            return s.replace(/\s/g, ""); 
        } 
    </script> 
    cs文件添加: 
    this.Password_TextBox.Attributes.Add("onblur", "CheckPassword()"); 
      

  2.   

    ^[a-zA-Z0-9]\w{5,16}$小生的是这样的。貌似没有出现什么错误~
      

  3.   

    你那temp是什么? 有空格?
    难道你是想密码里必须是数字和字母的结合体?
      

  4.   

    if (CheckStr(temp ,6,16)){ 
    你给取反了 当然会出错了 去掉看看
      

  5.   

      function CheckStr(str, s, e) 
        { 
            
            
            var m = eval("/^[a-zA-Z0-9_\-]{" + s + "," + e + "}$/"); 
            if(!m.test(trim(str))) return false;
            m = /^\d+$/;
            if(m.test(trim(str))) return false; 
            m = /^[a-zA-Z_\-]+$/;
              if(m.test(trim(str))) return false;  
              return true;
        }  
      

  6.   

    .CS代码:
     private void btnSubmit_Click(object sender, EventArgs e)
            {
                if (txtPsw.Text.Length > 6 && txtPsw.Text.Length < 16)
                {
                    if (IsAudit(txtPsw.Text))
                    {
                        MessageBox.Show("正确!");
                    }
                    else
                        MessageBox.Show("格式不正确!");
                }
                else
                {
                    MessageBox.Show("密码长度必须是6-16位!");
                }
            }
            private bool IsAudit(string str)
            {
                string regFormat = @"^([a-zA-Z_\-]+\d+\w*)|(\d+[a-zA-Z_\-]+\w*)$"; 
                Regex regex = new Regex(regFormat, RegexOptions.IgnoreCase); 
                return regex.IsMatch(str);
            }
      

  7.   

     
    var m = eval("/^[a-zA-Z0-9_\-]{" + s + "," + e + "}$/"); 
            if(!m.test(trim(str))) return false;
            m = /^\d+$/;//单数字
            if(m.test(trim(str))) return false; 
            m = /^[a-zA-Z]+$/; //单字母
              if(m.test(trim(str))) return false;  
              return true;
      

  8.   

    try...    function CheckStr(str, s, e) 
        { 
            var m = eval("/^(?![a-zA-Z_\-]+$)(?![0-9_\-]+$)[a-zA-Z0-9_\-]{" + s + "," + e + "}$/");
            return m.test(trim(str)); 
        } 另外涉及到长度,在验证时trim是否合适,需要考虑一下
      

  9.   

    您好!谢谢您!
            function CheckPassword() {
                var temp = document.getElementById('<%=Password_TextBox.ClientID %>').value;            var m = eval("/^[a-zA-Z0-9_\-]{6,16}$/");
                if (!m.test(trim(temp))) {
                    return false;
                }
                else {
                    alert('抱歉!密码字母和数字组合!');
                    return true;
                }
    }
            function trim(s) {
                return s.replace(/\s/g, "");
            }
    为什么密码框里是字母和数字的组合后,还会弹出信息框?
    程序意图:纯字母,纯数字,弹出信息框提示;如果字母+数字,则不用弹出信息框。