2014-10-11 81 views
0

此代碼適用於除Mozilla Firefox之外的所有流行瀏覽器。問題是TAB鍵不起作用。任何人都可以找出原因嗎?它連接到一個文本字段的形式。我試過添加'\ t',沒有工作。它可以在所有的瀏覽器對我來說,除了火狐...Firefox中的RegExp選項卡

$('.mail').bind('keypress', function (event) { 
    var regex = new RegExp("^[[email protected]\S._\n\r\b-]+$"); 
    var key = String.fromCharCode(!event.charCode ? event.which : event.charCode); 
    if (!regex.test(key)) { 
     event.preventDefault(); 
     return false; 
    } 
}); 

回答

0

沒有進入正則表達式,你可以方便地將標籤按鍵通過針對它的代碼比較:

$('.mail').bind('keydown', function (event) { 
    var regex = new RegExp("^[[email protected]\S._\n\r\b-]+$"); 
    var key = String.fromCharCode(!event.charCode ? event.which : event.charCode); 

    if (!regex.test(key) && event.which != 9) { 
     event.preventDefault(); 
     return false; 
    } 
}); 

如果運行進入更多的應該工作的案例,但不要重新審視正則表達式可能是好事,但如果這是唯一的情況,那麼這個快速解決方法應該足夠了。

另外請注意我用的keydown代替按鍵(按鍵時event.which拋出不同的代碼)的

jsfiddle

+0

一個有趣的解決方案。是的,我可以及時解決這個問題...非常感謝! – Varg 2014-10-12 00:13:58

相關問題