我想要实现的是强制文本框以前缀(国家电话代码)开头并使其永久化,这意味着用户无法绕过它。例如,电话文本框应始终以“+45”开头,然后用户可以添加电话号码。如何以任何方式防止它删除代码?
到目前为止,我使用 jQuery 做了什么:
//attach event on phone text boxes
$(document).delegate(".phone", "keyup", function(event){
var target = $(this);
var value = target.val().trim();
if (value.indexOf(CONSTANTS.DANISH_PHONE_CODE) == -1) {
//country code not found
//if the user starts deleting the country code
if (value.indexOf("+") == 0){
value = "";
}
//if the user types something in front of the country code, put the country code at the end
value = value.replace(CONSTANTS.DANISH_PHONE_CODE, "");
//phone doesn't start with +45
value = CONSTANTS.DANISH_PHONE_CODE + value;
target.val(value);
}
});
但问题是用户可以删除加号,前缀会自动放在开头,所以我们将得到 +4545。你知道实现这一目标的优雅方法吗?谢谢。