【发布时间】:2013-03-25 23:45:18
【问题描述】:
我正在使用此功能进行电话屏蔽,并且几乎可以完美运行。
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)。
目前情况:
| No. Of Digits | Input Field |
|---|---|
| 9 digit | (OXX99) 99999-9999 |
| 8 digit | (OXX99) 9999-9999 |
我需要的正确格式:
| No. Of Digits | Input Field |
|---|---|
| 9 digit | (0XX99) 99999-9999 |
| 8 digit | (0XX99) 9999-9999 |
8位或9位的数量是用户的选择。
将O 更改为0,会导致掩码出错。
【问题讨论】:
-
看不到问题。 jsfiddle.net/ufsuz
标签: javascript regex mask