我如何通过Java-Script验证或格式化位置号00-00-00-000-000?

时间:2011-07-28 13:46:57

标签: javascript regex formatting geolocation

我有一个问题。我如何验证或格式化位置号00-00-00-000-000位0-9其中0是通过java脚本。

类似这样的事情

function formatTime(time) {
    var result = false, m;
    var re = /^\s*([01]?\d|2[0-3]):?([0-5]\d)\s*$/;
    if ((m = time.match(re))) {
        result = (m[1].length == 2 ? "" : "0") + m[1] + ":" + m[2];
    }
    return result;
}
alert(formatTime(" 1:00"));
alert(formatTime("1:00 "));
alert(formatTime("1:00"));
alert(formatTime("2100"));
alert(formatTime("90:00")); // false

1 个答案:

答案 0 :(得分:1)

简单功能:JSFiddle

适用于格式为X-X-X-X-X的任何输入字符串,前三个X可以在0到99之间,最后两个X可以在0到999之间。

function doIt(lala) {
    var reg = /^\s*([0-9]{1,2})\-([0-9]{1,2})\-([0-9]{1,2})\-([0-9]{1,3})\-([0-9]{1,3})\s*$/;
    var m = lala.match(reg);
    if(m) {
        var n1 = m[1].length == 1 ? ('0' + m[1]) : m[1];
        var n2 = m[2].length == 1 ? ('0' + m[2]) : m[2];
        var n3 = m[3].length == 1 ? ('0' + m[3]) : m[3];
        var n4 = m[4].length == 1 ? ('00' + m[4]) : (m[4].length == 2 ? '0' + m[4] : m[4]);
        var n5 = m[5].length == 1 ? ('00' + m[5]) : (m[5].length == 2 ? '0' + m[5] : m[5]);
        return (n1 + '-' + n2 + '-' + n3 + '-' + n4 + '-' + n5);
    }
    return ''; // you can choose to return false here
               // if you want to use this as some sort of validation
}