我现在需要限制一个文本区域只能输入50个字符,但是输入中文时出现了问题,因为50个中文字符实际上是100个字节.请问如何设置正则表达式限制输入50个字节呢?我写的是 @"^[\s\S]{"0","50"}"  只能限制输入50个字符,没有办法知道是中文还是英文,而我想要实现,输入英文时能输入50个,中文时就只能25个,请各位帮帮忙

解决方案 »

  1.   

    C#中字符串的长度应该是按Unicode算的吧?
    不过不管怎么说,楼主的这个功能最好不要用正则表达式来实现。不就是个长度问题吧,写个一般的函数来检查一下不也挺好吗?
      

  2.   

    恩,写函数可以搞定,但是我不想让程序postback,想在页面上解决他,所以想试试用正则表达式能不能解决
      

  3.   

    客户端也一样啊。用JAVASCRIPT来获得长度并检查一下就是了。
      

  4.   

    可能还有中英文混合的情况。
    一般可以把unicode码值小于128的看成单字节字符,其它的则看成双它节字符。