2017-03-23 66 views
1

我有一個用戶的名字將被放在輸入。我禁用了除了a-z和0-9之外的所有按鍵,並且它工作正常。 我想要允許SHIFT鍵,所以當用戶想要大寫一個字母時,他可以做到這一點。我已經嘗試了一些解決方案,但沒有奏效。啓用SHIFT鍵

$('#firstname').on('keypress', function(e){ 
    return e.metaKey || 
    e.which <= 0 || 
    e.which == 8 || 
    /[a-z 0-9]/.test(String.fromCharCode(e.which)); 
}) 
+0

您應該忽略RegEx上的情況。在末尾使用'/ i'。 – G0dsquad

+2

爲什麼這是投了票? – bassxzero

回答

1

您可以將字符範圍添加到您的正則表達式中。

$('#firstname').on('keypress', function(e){ 
    return e.metaKey || 
    e.which <= 0 || 
    e.which == 8 || 
    /[a-zA-Z0-9 ]/.test(String.fromCharCode(e.which)); 
}) 
+0

你也可以在''結尾使用'/ i'。 – G0dsquad

+0

片段是否應該運行?它只顯示ReferenceError。 –

+1

@ÁlvaroGonzález否 - 它需要一些不存在的上下文。我禁用了該片段。 – duskwuff