2016-09-30 29 views
2

我寫了下面的代碼來驗證自定義地址,但不能使它工作jQuery的正則表達式驗證客戶地址

我希望讓所有的字母,數字,空格和符號,如:只-_,/。下面我的代碼不起作用,請幫我解決它。

$('.allowall').keypress(function(e) { 
    var regex = new RegExp("^[a-zA-Z0-9.-_/ ]+$"); 
    var str = String.fromCharCode(!e.charCode ? e.which : e.charCode); 
    if (regex.test(str)) { 
     return true; 
    } 
    e.preventDefault(); 
    return false; 
}); 
+1

拉胡特爾的答案是正確的,請接受它。 –

回答

2

以下正則表達式將允許地址中的字母,數字,空格和符號(-_ ,.)。

^[a-zA-Z0-9\s,'-._ ]*$ 

請檢查該鏈接http://www.regexpal.com/?fam=95879

$('.allowall').keypress(function(e) { 
 
    var regex = new RegExp("^[a-zA-Z0-9\s,'-._ ]*$"); 
 
    var str = String.fromCharCode(!e.charCode ? e.which : e.charCode); 
 
    if (regex.test(str)) { 
 
    return true; 
 
    } 
 
    e.preventDefault(); 
 
    return false; 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="text" class="allowall"/>

+0

我同意你的解決方案,但也許你可以做一個測試片段? –

+1

@JosephCallaars感謝您的建議。片段已包括在內。 –