你的二三四五位都可以为空了,为什么不能出现LGA0090S_1111Y31126这种情况呢,空跟空格不是一个概念

解决方案 »

  1.   

     是啊 “LGA0090S_1111Y31126” 那里不符合要求了 
    看要求前六位中的前五位均可为空 第六位是任意字符(包括空白字符吗)
    这样前六位的验证没什么意义了 
      

  2.   


    window.onload = function (){
    var str = 'Y31126LGA0090S_1111';
    var p = /^[MYZ\s][0-9Z\s]{2}[0-9\s][1-2\s]./; alert(p.test(str));
    }你看看这是不是你想要的效果。
    我是这样理解你的题意的:像这样的数据 
    Y31126LGA0090S_1111 
    正则表达式要求:
    第一位可以是  M Y Z 中的任意一个 或者 为空 
    第二三位可以是 任意数字 或者为 字母Z 或者为 空     
    第四位可以是 任意数字 或者为 空    
    第五位可以是 数字1 或者 数字2 或者为 空  
    第六位可以是任意字符  怎么才能判断出这个字符串是否满足条件那?? 
    还有要防止出现 LGA0090S_1111Y31126 这样的情况,也就是只能是对前六位进行匹配
    谢谢
      

  3.   

    <script>
    window.onload = function (){
                    var str = 'Y31126LGA0090S_1111';
    var str1="LGA0090S_1111Y31126";
    var str2="      LGA0090S_1111Y31126";
                    var p = /^[MYZ][0-9Z]{2}[0-9][1-2].|^[\s]{6}./;                alert(p.test(str));
    alert(p.test(str1));
    alert(p.test(str2));
                }</script>我估计你的意识是这个
    你的意思就是只能是
    var str ='Y31126LGA0090S_1111';
    var str2="      LGA0090S_1111Y31126";
    这2种结果看看我给你的正则吧
    1,3为true
    2为false