2011-07-28 13 views
0

私は質問があります。どのようにして、位置番号00-00-00-000-000の数字0〜9を検証またはフォーマットすることができますか?0はJavaスクリプト経由です。Javaスクリプトを使用して00-00-00-000-000の位置番号を検証またはフォーマットするにはどうすればよいですか?

この

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 
+0

正規表現は非常に簡単です。 http://www.regular-expressions.info/とhttps://developer.mozilla.org/en/JavaScript/Guide/Regular_Expressionsから始めることをお勧めします。 –

+0

入力は何文字ですか?その数字は何桁ですか?またはその形式の文字列ですか?それとも先行ゼロのない形式の文字列ですか?次に、出力が 'XX-XX-XX-XXX-XXX'の形式であると仮定しています。ここで' X = 0-9' –

答えて

1

シンプルな機能のようなもの:最初の3 Xは0と99の間にすることができ、最後の2 Xができる形式X-X-X-X-Xである任意の入力文字列のためのJSFiddle

作品に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 
} 
関連する問題