回 帖 发 新 帖 刷新版面

主题:[讨论]通过unicode判断字符是全角还是半角的问题

我有一段程序,用来判断输入字符是半角还是全角,但是我无论输入什么字符程序都判断是全角。怪了,请高手帮我看看,问题在什么地方,如何改正?

private void BtnJudge_Click(object sender, EventArgs e)
{
  string str ="a";
  if(str== null)
  {
    MessageBox.Show("原始字符串不能为空!");
  }
  else
  {
    if(Regex.IsMatch(str, "^[^\u0000-\u00FF]*$"))
    {
      MessageBox.Show(str + "是半角字符");
    }
    if(Regex.IsMatch(str, "^[^\u4E00-\u9FA5]*$"))
    {
      MessageBox.Show(str + "是汉字");
    }
    if (Regex.IsMatch(str, "^[^\uFF00-\uFFFF]*$"))
    {                
      MessageBox.Show(str+"是全角字符"); 
    }
  }
}
找道理应该返回半角字符,可我程序偏返回说全角字符。

回复列表 (共1个回复)

沙发

怎么没人回啊

我来回复

您尚未登录,请登录后再回复。点此登录或注册