^([\u4e00-\u9fa5]+[-])*([\u4e00-\u9fa5]+)$

解决方案 »

  1.   

    这样可不可以
    ([\u4e00-\u9fa5]-[\u4e00-\u9fa5])*
      

  2.   

    这样有问题的
    1,[\u4e00-\u9fa5]只表示一个汉字字符
    2,没有^和$的话,字符串如这样也能匹配:"abc汉-字def",因为你没表明只能以汉字开头且
      以汉字结尾这个条件
    3,([\u4e00-\u9fa5]-[\u4e00-\u9fa5])*这样写是表示匹配的项如"汉-字"或"汉-字-字"
      而只有一个汉字:"汉"这样的话就不能匹配了,因为没有"-"这个字符
      

  3.   

    什么感谢!zjsen(星愿)我再想问一下问题:
    只允许输入:
    8位数字-#-8位数学
    100000000-#-11111111或20000000-#或200000000
      

  4.   

    参考网站:
    http://www.regexlib.com/
      

  5.   

    To: zjsen(星愿)请问汉字对应的utf编码怎样可以查到?
      

  6.   

    unicode字符集
    http://www.unicode.org/charts/