Aşağıdaki örnek kod üzerinde hem Türkiye hem de Türkiye dışındaki ülkeler için telefon formatlama yöntemini bulabilirsiniz.
function TelephoneFormat(fieldName, ulkefieldname,ulkekoduname) {
try {
var langId = Xrm.Page.context.getUserLcid();
if (langId != 1055)
langId = 1033;
var oField = GetAttribute(fieldName);
if (GetValue(fieldName) != null && GetValue(fieldName) != "") {
var ulke = GetValue(ulkefieldname);
var _ulkeid = null;
if (ulke != null && ulke[0] != null && ulke[0].id != null)
_ulkeid = ConverttoStringFromGuid(ulke[0].id);
if (_ulkeid != null) {
var sTmp = oField.getValue().replace(/[^0-9]/g, "");
if (_ulkeid == GetTurkiyeId()) {
switch (sTmp.length) {
case 13:
oField.setValue("+" + sTmp.substr(0, 3) + " " + sTmp.substr(3, 3) + " " + sTmp.substr(6, 7));
break;
case 12:
oField.setValue("+" + sTmp.substr(0, 2) + " " + sTmp.substr(2, 3) + " " + sTmp.substr(5, 7));
break;
case 11:
oField.setValue("+9" + sTmp.substr(0, 1) + " " + sTmp.substr(1, 3) + " " + sTmp.substr(4, 7));
break;
case 10:
oField.setValue("+90 " + sTmp.substr(0, 3) + " " + sTmp.substr(3, 7));
break;
case 7:
oField.setValue("+90 232 " + sTmp.substr(0, 3) + sTmp.substr(3, 4));
break;
default:
alert('2324440011 şeklinde en az 10 haneli bir telefon numarası giriniz.');
SetValue(fieldName, null);
break;
}
}
else {
TelephoneFormat2(fieldName, ulkekoduname);
}
}
else {
if (langId == 1055)
CommonAlert("Telefon numarası girmek için ilk önce ülke seçilmelidir.");
else
CommonAlert("Please , firstly select country.");
setTimeout(function () {
SetValue(fieldName, null);
}, 200);
}
}
}
catch (e) {
CommonAlert("An error occured in TelephoneFormat Function.\nError: " + e.message);
}
}
function TelephoneFormat2(fieldadi, ulkekoduname) {
try {
var value = GetValue(fieldadi);
if (typeof (value) != "undefined" && value != null) {
value = FormatPhoneNumber(value, ulkekoduname);
}
SetValue(fieldadi, value);
}
catch (e) {
alert('TelephoneFormat2 error');
}
}
function FormatPhoneNumber(phoneNo, ulkekoduname) {
var formattedPhone = phoneNo;
var ulkekodu = GetValue(ulkekoduname);
ulkekodu = ulkekodu != null ? ulkekodu : "";
if (phoneNo.length < 5) {
if (langId == 1055)
CommonAlert("Telefon numarası 5 karakterden az girilemez");
else if (langId == 1055)
CommonAlert("PhoneFormat error.");
formattedPhone = "";
return formattedPhone;
}
if (phoneNo.length == 5)
formattedPhone = phoneNo.replace(/(\d{3})(\d{2})/, "+" + ulkekodu + ' $1 $2');
else if (phoneNo.length == 6)
formattedPhone = phoneNo.replace(/(\d{3})(\d{3})/, "+" + ulkekodu + ' $1 $2');
else if (phoneNo.length == 7)
formattedPhone = phoneNo.replace(/(\d{3})(\d{4})/, "+" + ulkekodu + ' $1 $2');
else if (phoneNo.length == 8)
formattedPhone = phoneNo.replace(/(\d{3})(\d{3})(\d{2})/, "+" + ulkekodu + ' $1 $2$3');
else if (phoneNo.length == 9)
formattedPhone = phoneNo.replace(/(\d{3})(\d{3})(\d{3})/, "+" + ulkekodu + ' $1 $2$3');
else if (phoneNo.length == 10)
formattedPhone = phoneNo.replace(/(\d{3})(\d{3})(\d{4})/, "+" + ulkekodu + ' $1 $2$3');
else if (phoneNo.length == 11)
formattedPhone = phoneNo.replace(/(\d{2})(\d{3})(\d{3})(\d{3})/, "+" + ulkekodu + '$1 $2 $3$4');
else if (phoneNo.length > 11)
formattedPhone = phoneNo.replace(/^\(?([0-9]{2})?([0-9]{3})\)?[-. ]?([0-9]{3})[-. ]?([0-9]{4})?([0-9]*)$/, "+" + ulkekodu + " $1($2) $3-$4 x$5");
return formattedPhone;
}
function SetValue(field, value) {
var attribute = GetAttribute(field);
if (attribute != null) {
return attribute.setValue(value);
}
return null;
}
function GetValue(field) {
var attribute = GetAttribute(field);
if (attribute != null) {
return attribute.getValue();
}
return null;
}
function GetAttribute(field) {
return Xrm.Page.getAttribute(field);
}