Javascript JS电话验证。添加格式

Javascript JS电话验证。添加格式,javascript,validation,Javascript,Validation,我在电话号码的表单输入字段中使用了一些验证。我有两个方面的问题。首先,我不想添加一个括号。第二,即使在执行退格操作时,我也不希望保留括号和破折号。以下是我到目前为止的情况: window.mask=函数(e,f){ var len=f.值.长度; var键=哪个键(e); if((key>47&&key>96&&key从JavaScript中删除else语句 更改为: window.mask = function (e,f){ var len = f.value.length;

我在电话号码的表单输入字段中使用了一些验证。我有两个方面的问题。首先,我不想添加一个括号。第二,即使在执行退格操作时,我也不希望保留括号和破折号。以下是我到目前为止的情况:

window.mask=函数(e,f){
var len=f.值.长度;
var键=哪个键(e);

if((key>47&&key>96&&key从JavaScript中删除
else
语句

更改为:

window.mask = function (e,f){
    var len = f.value.length;
    var key = whichKey(e);
    if((key>47 && key<58) || (key>96 && key<105))
    {
        if( len==1 )f.value='('+f.value
        else if(len==3 )f.value=f.value+')'
        else if(len==7 )f.value=f.value+'-'
        else f.value=f.value;
    }
}

function whichKey(e) {
    var code;
    if (!e) var e = window.event;
    if (e.keyCode) code = e.keyCode;
    else if (e.which) code = e.which;
    return code
}
window.mask=函数(e,f){
var len=f.值.长度;
var键=哪个键(e);

如果((key>47&&key>96&&key)有人想知道,我是通过1)删除else语句(修复了backspaces的问题)和2)来实现的将所有
更改为code>=
左括号已经存在,我不明白it@imbondbaby看看我做的,我看到一个parenthesis@imbondbaby但是你测试过了吗?括号在第二次击键后消失了。这就是我要说的重点。不是我这边…我就是这么看的…我会的你喜欢其他格式吗?
<input type="text" name="phone" id="phone" onkeydown="mask(event,this)" onkeyup="mask(event,this)" maxlength="12" />
window.mask = function (e,f){
    var len = f.value.length;
    var key = whichKey(e);
    if((key>47 && key<58) || (key>96 && key<105))
    {
        if( len==1 )f.value='('+f.value
        else if(len==3 )f.value=f.value+')'
        else if(len==7 )f.value=f.value+'-'
        else f.value=f.value;
    }
}

function whichKey(e) {
    var code;
    if (!e) var e = window.event;
    if (e.keyCode) code = e.keyCode;
    else if (e.which) code = e.which;
    return code
}