我在javascript中的函数有一个问题,例如,当用户输入任何字符时,我会尝试自动替换第一个字符。
如果用户在输入(使用我的函数)中键入字母a,则将该字母替换为加号(+)。
我想在我的函数中添加一个条件,允许在输入的开头自动添加加号,如果可能的话,不允许删除输入中的第一个字符。
现在我的函数只允许写数字。
<div>
<label>Write a phone number:</label>
<input type="text" maxlength="12" onkeypress="return number(event)"/>
</div>
<script type="text/javascript">
function number(e){
var tecla = e.keyCode;
if (tecla==8 || tecla==9 || tecla==13){
return true;
}
var patron =/[0-9+]/;
var tecla_final = String.fromCharCode(tecla);
return patron.test(tecla_final);
}
</script>
发布于 2018-10-24 19:23:49
如果您希望超过+44,则已更新
试着用这个,如果你需要的话就换一个
function phoneMask() {
num = $(this).val().replace(/\+4{1,2}|\D/g,'');
$(this).val("+44" + num);
}
$("#test").keyup(phoneMask);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
<label>Write a phone number:</label>
<input type="text" maxlength="12" id="test"/>
</div>
https://stackoverflow.com/questions/52976267
复制