我正在使用此功能来拨打电话面具并且几乎完美地工作。
function mask(o, f)
{
v_obj = o;
v_fun = f;
setTimeout("execmask()", 1)
};
function execmask()
{
v_obj.value = v_fun(v_obj.value)
};
function mphone(v){
v=v.replace(/\D/g,"");
v=v.substring(0, 11);
v=v.replace(/^(\d{2})(\d)/g,"(OXX$1) $2");
v=v.replace(/(\d)(\d{4})$/,"$1-$2");
return v;
}
在这里,我在文本字段中运行掩码:
<input type="text" id="phone" name="phone" onkeypress="mask(this, mphone);" onblur="mask(this, mphone);" />
问题是我需要将这部分代码 (OXX$1)
更改为 (0XX$1)
。
现在的情况:
位数输入字段9位(OXX99) 99999-9999 8位(OXX99) 9999-9999
我需要的正确格式:
位数输入字段9位(0XX99) 99999-9999 8位(0XX99) 9999-9999
8 位或 9 位数字的数量由用户选择。
将 O
更改为 0
会导致掩码出错。
原文由 Danilo 发布,翻译遵循 CC BY-SA 4.0 许可协议
http://jsfiddle.net/BBeWN/