Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 条件测试到正则表达式转换(电话号码)_Jquery_Regex - Fatal编程技术网

Jquery 条件测试到正则表达式转换(电话号码)

Jquery 条件测试到正则表达式转换(电话号码),jquery,regex,Jquery,Regex,我检查了其他regex手机格式,但我的有点不同。当用户使用keyup函数(jQuery)键入电话号码时,我写下了格式化电话号码的代码。我使用了一些非常基本的正则表达式模式,但是我认为所有的格式都可以由正则表达式完成 电话格式类似于(312)317 72 84 字符总数为15 当用户键入代码时,会在代码中添加“(”和“” 电话号码不应以0开头 当前问题: 由于它在代码中添加了“”空格,但当用户按backspace时,它会删除空格并添加新的空格。backspace键应该单独处理 我的当前代码可在

我检查了其他regex手机格式,但我的有点不同。当用户使用keyup函数(jQuery)键入电话号码时,我写下了格式化电话号码的代码。我使用了一些非常基本的正则表达式模式,但是我认为所有的格式都可以由正则表达式完成

  • 电话格式类似于
    (312)317 72 84

  • 字符总数为15

  • 当用户键入代码时,会在代码中添加“(”和“”

  • 电话号码不应以
    0开头

当前问题: 由于它在代码中添加了“”空格,但当用户按backspace时,它会删除空格并添加新的空格。backspace键应该单独处理


我的当前代码可在此处找到:

在此条件下包装代码:

if(e.keyCode!=8){ //since you're using jQuery, you can use e.which instead
...
}

在此条件下包装代码:

if(e.keyCode!=8){ //since you're using jQuery, you can use e.which instead
...
}

将事件对象传递给处理keyup事件的函数,并使用
e检查退格

$("input.phone").keyup(function(e) { 
    if(e.which!=8){
    ....
    }
});

将事件对象传递给处理keyup事件的函数,并使用
e检查退格

$("input.phone").keyup(function(e) { 
    if(e.which!=8){
    ....
    }
});

事实上,您的电话号码的格式略有不同,不值得单独提问。请花一点时间了解之前的方法,您可以轻松地调整它们。是的,我知道这一个问题根本不是唯一的问题。但是,我对正则表达式模式完全陌生。我可能很难形成一个我认为你的问题根本不是关于regexen的,不是关于backspace键的行为吗?我认为所有那些杂乱无章的if/if-else条件都可以删除。但不确定regex是否能处理所有问题。你的电话号码格式略有不同,这一事实不值得单独提问。花点时间来理解接受前面的方法,你可以很容易地适应它们。是的,我知道这一个问题根本不是一个独特的问题。但是,我对正则表达式模式完全陌生。我可能很难形成一个模式来完全实现我想要的。我想你的问题根本不是关于正则表达式的,不是关于退格键行为吗?我想k所有那些杂乱的if/if-else条件都可以删除,但不确定正则表达式是否可以处理所有这些条件