对问题的补充:
对输入的内容没有任何限制,只限制总的长度。例如限制长度不超过10,则输入“abcde12345”是可以的,但输入“中华人民共和国”应该视为超长(长度为14)。

解决方案 »

  1.   

    各种字符混在一起都可以,只限制总长度。如“abc中国”的长度应计为7。
      

  2.   

    regular expression is not the way to go, write a custom validator instead
      

  3.   

    自定义验证控件应该是可以的。但是,我这个验证控件是用于限制表单上各个输入文本框的输入长度。如果每个都用验证控件的话,需要加的javascript代码太多了!
      

  4.   

    function showLen(str)
    {
    /*
     * 如果是非ascii码 则替换成2个"**"
     *
     */
    str=str.replace(/[^\x00-\xff]/g,"**");
    alert("您输入的长度为" + str.length);
    if(str.length>10) 
    {
    alert("注册用户名长度不符合要求");
    return false;
    }
    }

    这个是js 的 但是不准确,除非你熟 日文  韩文 等等 
    要是你要验证的多的话,你可以继承TextBox  自己加上 个验证的属性 ,这样不是方便了许多?
      

  5.   

    if you write a custom validator, you only need provide one client side script, also, if you prefer, you can always do it in  the form's onsubmit event handler
      

  6.   

    用自定义验证控件验证一个控件的输入内容可以这么写:
    <asp:CustomValidator id="CustomValidator1" runat="server" ErrorMessage="字数超过限制" ControlToValidate="Txt_Title" 
    ClientValidationFunction="CheckLength"></asp:CustomValidator> CheckLength是客户端验证脚本函数名
    函数参数请按一下格式:
    arguments.Value   录入控件的值
    arguments.IsValid 是否验证通过function CheckLength(source, arguments) 

    ValidStrLength=10; 
    byte[] sarr = System.Text.Encoding.Default.GetBytes(s);if (sarr.Length<=ValidStrLength)) 
        arguments.IsValid = true; 
    else 
        arguments.IsValid = false; 

    但我的一个页面上大多有10个以上的文本输入框,岂不要为每个文本输入框都写一个这样的验证函数?而我的程序有20多个输入页面。另外,我的程序已经写好了,现在才提出来加这个验证功能,所以不想采用继承TextBox 的方法。
      

  7.   

    [\u4e00-\u9fa5]
    中文的正则表大式  哪个  [^\x00-\xff] 不严谨我认为这样的判断完全可以在b端验证了