我使用的是javascript。我想在我的文本字段添加驗證,只允許字符。Java腳本驗證符號%不能在文本字段中允許
隨着字符,我允許左鍵箭頭鍵,它有鍵碼37.但這是創建問題,因爲%的鍵碼也是37.而且我不想允許%符號。
請教我如何區分%和左箭頭鍵,因爲兩個鍵碼都是37?
我使用的是javascript。我想在我的文本字段添加驗證,只允許字符。Java腳本驗證符號%不能在文本字段中允許
隨着字符,我允許左鍵箭頭鍵,它有鍵碼37.但這是創建問題,因爲%的鍵碼也是37.而且我不想允許%符號。
請教我如何區分%和左箭頭鍵,因爲兩個鍵碼都是37?
如果按「百分比」鍵的字符代碼是37,爲「左arrow'鍵它不是37;例如:
$('#test').keypress(function(oEvent) {
if (oEvent.charCode == 37) {
return false;
}
});
另請參閱此jsfiddle。
=== UPDATE ===
有關其他Internet Explorer的支持:
$('#test').keypress(function(oEvent) {
var iCode = typeof oEvent.charCode == 'number' ? oEvent.charCode : oEvent.keyCode;
if (iCode == 37) {
return false;
}
});
也看到這個jsfiddle。
不要限制用於驗證的按鍵。人們可以複製/粘貼來克服這一點。
你需要使用正則表達式來驗證你的輸入。
瞭解更多關於它從https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/RegExp
按鍵驗證的替代方法不是正則表達式,它是onchange,onblur和/或onsubmit。 (當然,您可以在更改/提交驗證中使用正則表達式,但您不必這樣做。) – nnnnnn
您應該在用戶提交表單後驗證您的用戶輸入。你可以編寫一個函數,在數據提交給服務器之前運行表單的「onsubmit」屬性,或者你可以設置表單動作爲「action ='javascript:someFunction()'」。不允許鍵擊使用戶界面對於最終用戶而言更加複雜和繁瑣,並且對xss或注入攻擊構成安全風險。我會建議用javascript檢查用戶輸入,並在錯誤信息無效時返回錯誤信息,然後在服務器端再次驗證數據並清理數據。
看起來您正試圖爲SQL生成目的清理輸入。我並不是說你不知道它,而只是一個友好的提醒 - 在服務器端**也應用相同的邏輯**。 –
你是什麼意思「只有人物」? 「%」是一個字符。你的意思是「只有字母數字字符」或什麼的? – nnnnnn
是的我的意思是說字母數字字符。 –