Reqular İfade: Numarası ile kullanıcı tanımlı Format değiştirin?

2 Cevap php

Ben bir kullanıcı gibi biçimini tanımlamak değiştirmek istiyor ...

ABC-# # # # -09

karşı

ABC-0023-09

How many leading zero should be decide over how many '#' sign in format, and the length of default value karşı replace (23 in this case).

Is there any regular expression pattern karşı do this?

Teşekkürler ...

2 Cevap

Bu nasıl?

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

Bu Javascript çalışması gerekir:

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);
}