文本框输入的时候想用正则表达式进行格式验证,
以下为想输入的正确内容:1000-1999;2000-2999;3000-3999;...后面还可以有多个相类似的输入。
请问应该如何写正则表达式啊?
多谢了!

解决方案 »

  1.   

    楼主 试试<!doctype html>
    <html>
    <head>
    <meta charset="gb2312" />
    <title>Test</title>
    <style>
    </style>
    <script>
    function $(o){return document.getElementById(o)}
    window.onload = function(){
    $('test').onblur = function(){
    var val = this.value;
    var re = /\d{4}-\d{4}/g;
    if(re.test(val)){
    alert('匹配')
    }else{
    alert('不匹配')
    }
    }
    }
    </script>
    </head>
    <body>
    <input type="text" id="test" />
    </body>
    </html>
      

  2.   

    2楼兄弟写的这个在验证第一个输入的时候有用,如果后面再继续输入的话就验证的不对了
    比如说我像下面这样输入就验证不出来了。1000-1999;sasdfa我想要的是能够验证多个范围的输入:1000-1999;2000-2999;3000-3999;...
      

  3.   

    试试这个呢? var str = '100-199;200-299;123-9999;1-9999;';
    var arr = str.split(';');
    var re = /(\d+-\d+);/g;
    //alert(str.match(re))
    //alert(arr)
    if(arr.length-1 == str.match(re).length){
    alert('匹配');
    }else{
    alert('不匹配');
    }
      

  4.   


    第二个数要求比第一个数大?var reg = /^(\d+-\d+;)+$/g;
    var str = '1-3;30-39;56-30;2000-3999;';
    alert(reg.test(str));
      

  5.   

    先谢谢你了!第二个数要比第一个数大。
    1-3;30-39;56-30;2000-3999;aaaa
    我如果要是像上面这样输入的话,仍然是检查不出来啊
      

  6.   

    我理解是,
    可以输入的格式 如  m1-n1;m2-n2;m3-n3.....mx-nx
    全数值型,而且n?>m?
    这个应该先分解每项 再判断吧?