如题,数字4位,3位,2位,不够补0, 这三组数值的正则表达式应该怎么写呢??

解决方案 »

  1.   

    都是四位数就 小小 回复的那个 /^\d{4}$/.test(value)
      

  2.   


    一个很笨的方法:
    var s1 = "1";
                var reg = /^\d{1,4}$/g;
                s1 = s1.replace(reg, function (m) {
                    if (m.length == 4) { return m; }
                    else if (m.length == 3) { return "0" + m; }
                    else if (m.length == 2) { return "00" + m; }
                    else if (m.length == 1) { return "000" + m; }
                });
                alert(s1);
      

  3.   

    var rNum = /(\d{2,4})-(\d{2,4})/;
    var sToMatch1 = "0001-9999",sToMatch2 = "001-999",sToMatch3 = "01-99";
    var sToMatch = sToMatch3;
    if( rNum.test( sToMatch ) ){
    var sResult = sToMatch.replace( rNum , function(s){ return ("0000"+RegExp.$1).slice( -4 ) + "-" + ("0000"+RegExp.$2).slice(-4)} );
    alert( sResult );
    }