正则表达式

TTLOVEYOU3344 2006-06-02 01:48:23
请教一个这样的正则表达式:不大于70个汉字.也就是说可以140个字符(用于手机短信的)谢谢!
...全文
135 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
mobydick 2006-06-02
  • 打赏
  • 举报
回复
string yourStr = "今天abcd";
int length = yourStr.Length;
for(int i = 0; i < length; ++i)
{
int iChar = Convert.ToInt32(yourStr[i]);

Console.WriteLine(iChar);
}

看出中文和英文字符的区别了吗?
njufrog 2006-06-02
  • 打赏
  • 举报
回复
你说的不会是输入一个字就要判断一次吧?
njufrog 2006-06-02
  • 打赏
  • 举报
回复
我测了,是对的啊,
如果需要标点,要在\s后再加就行了啊,下面加了个逗号和叹号
static void Main(string[] args)
{
string sub = @"大哥不对啊,也就是说可以输入字符啊!";
Regex r;
Match m;
r = new Regex(@"^[\u4e00-\u9fa5\s,!]{0,70}$",
RegexOptions.IgnoreCase | RegexOptions.Compiled);
m = r.Match(sub);
Console.WriteLine(m.Value);

}
TTLOVEYOU3344 2006-06-02
  • 打赏
  • 举报
回复
如果不要正则表达式,怎么验证呢?关键是怎么验证的问题啊!!
mobydick 2006-06-02
  • 打赏
  • 举报
回复
这也要正则表达式?
而且正则表达式无法解决编码所占字节的问题。
TTLOVEYOU3344 2006-06-02
  • 打赏
  • 举报
回复
大哥不对啊,也就是说可以输入字符啊!
njufrog 2006-06-02
  • 打赏
  • 举报
回复
^[\u4e00-\u9fa5\s]{0,70}$

\u4e00-\u9fa5为汉字字符
TTLOVEYOU3344 2006-06-02
  • 打赏
  • 举报
回复
各位大哥帮帮忙啊,小弟没弄过正则表达试

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧