Javascript'te bir dizgiye bir yedek maske takmam gerekiyor. Maske şu sözdizimi sahip bir kullanıcı girdidir:javascript'te bir dizedin üzerine karakter değiştirme maskesi
- '#' girdi dizesindeki aynı konumdaki karakter dokunulmadan bırakılması gerektiğini belirten
- Başka bir değer gösterir aynı konumdaki karakter giriş dizesinde bu değer ile değiştirilmelidir
Çalıştığını belirten aşağıdaki kodla geldim ama tek bir düzenli ifade veya başka biriyle bunu başarmanın daha iyi bir yolu olup olmadığını merak ediyorum yol (kütüphane yok).
Eğervar reference = '123-45678-000';
var mask ='###W#####-9##';
var newReference = mask;
while ((match = /#{1}/.exec(newReference)) != null) {
newReference = newReference.substring(0, match.index) + reference.substring(match.index,match.index+1) + newReference.substring(match.index + 1);
}
console.log("old : " + reference); //prints 123-45678-000
console.log("mask: " + mask); //prints ###W######9##
console.log("new : " + newReference); //prints 123W45678-900
. '### W ##### - 9 ## 'örnek maskesini kullanarak, giriş olarak sadece 12'yi girersem ne olur? – dman2306
@dman İyi bir nokta. Girdi ve maskenin aynı uzunlukta olmasını sağlayan mantığın (snippet'te gösterilmiyor) olduğunu netleştirmeliydim. –