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

时间:2012-11-19 06:17:48

标签: jquery regex

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

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

  • 字符总数为15

  • 用户输入代码时会添加“(”和“”代码

  • 不应使用0

  • 启动电话号码

当前问题:      因为它会向代码添加“”空格,但是当用户按下退格键时,它会删除空格并添加新空格。退格键应该单独处理

我目前的代码可以在这里找到:http://jsfiddle.net/kWd4k/

2 个答案:

答案 0 :(得分:1)

在这种情况下包裹您的代码:

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

http://jsfiddle.net/sNYCv/

答案 1 :(得分:0)

将事件对象传递给处理keyup事件的函数,并使用e.which

检查退格。
$("input.phone").keyup(function(e) { 
    if(e.which!=8){
    ....
    }
});