需求一个正则表达式,规则: 只能为中文和NRA/OSA/QFII(每种只能同时出现一次,并且可以单独存在)例如:输入  补偿NRA  或者  补偿OSA   类似这些都是对的  但是输入 补偿OSANRA  这样就是错的 就是说英文只能出现一次或者单输入NRA这样也是通过的     请各位朋友来帮忙解决下.....谢谢正则表达式

解决方案 »

  1.   

    我自己写了个 实现了一半  可是如果字母最前面位置就失败了  求各位给修改一下^[\u4E00-\u9FFF]*(NRA|OSA|QFII)?$
      

  2.   

    var reg=/^[\u4E00-\u9FFF]+(NRA|OSA|QFII){1}$/;
    //*表示0或者多个,你是必须有汉字所以要改成+
    //?表示可有可无,而你是必须要有一个,所以用{1}
      

  3.   

    谢谢,这样基本上满足要求了,可是如果先输入字母的话就不行了..比如NRA补偿这样也是可以通过的....
    有什么方法可以让字母在前吗?
      

  4.   

    var reg=/^(([\u4E00-\u9FFF]+[NRA|OSA|QFII])||([NRA|OSA|QFII][\u4E00-\u9FFF]+))$/;暂时用着吧
      

  5.   

    解决了 我改了一下
    /^(([\u4E00-\u9FFF]*(NRA|OSA|QFII)?)||((NRA|OSA|QFII)?[\u4E00-\u9FFF]*))$/
    这样就可以了
    谢谢哦