2009-08-31 21 views
0

我想更換一個用戶定義的格式一樣......請求表達式:用數字替換用戶定義的格式?

ABC - #### - 09

ABC-0023-09

有多少前導零應該決定有多少'#'登錄格式,以及要替換的默認值的長度(在這種情況下爲23)。

是否有任何正則表達式模式可以做到這一點?

謝謝...

+0

請不要提及你使用的是什麼技術 – 2009-08-31 05:10:16

回答

2

這個怎麼樣?

$num = 23; 
$format = 'ABC-####-09'; 
print preg_replace('/(#+)/e', 'str_pad($num, strlen("$1"), 0, STR_PAD_LEFT)', $format); 
2

這應該在Javascript工作:

function user_str_replace { 

    var match = user_input.match(/#+/); 
    var length = match.length; 

    var str = your_number.toString(); 
    var newStr = ""; 
    for (var i = 0; i < length - str.length; i ++) { 
    newStr = "0" + newStr; 
    } 
    newStr = newStr + str; 

    return (newStr); 
} 
相關問題