html檔案代碼如下:
複製代碼 代碼如下:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>JS控制非法字元的輸入</title>
</head>
<body>
<form>
<p>這裡不允許輸入如下字元:(像!@#$%^&*等)<br>
<textarea rows="2" cols="20" name="comments" onkeypress="checkComments()"></textarea>
</p>
<p>這裡不允許輸入引號:<br>
<input type="text" name="txtEmail" onkeypress="checkEmail()"/>
</p>
<p>這裡只能輸入數字:<br>
<input type="text" name="txtPostalCode" onkeypress="checkPostalCode()"/>
</p>
<p>這裡只能輸入大寫英文:<br>
<input type="text" name="txtEnglish" onkeypress="checkEnglish()"/>
</p>
</form>
</body>
</html>
js檔案代碼如下: 複製代碼 代碼如下:<script type="text/javascript" language="JavaScript">
/*
* 特殊字元在ASCII碼中所表示的範圍為32~48,57~65,90~97
* event.returnValue=false;設定鍵盤輸入主false,則不能在文字框中輸入內容
*/
function checkComments(){
if (( event.keyCode > 32 && event.keyCode < 48) ||
( event.keyCode > 57 && event.keyCode < 65) ||
( event.keyCode > 90 && event.keyCode < 97)
) {
event.returnValue = false;
}
}
/*
* 引號的ASCII碼為34和39
*/
function checkEmail(){
if ( event.keyCode == 34 || event.keyCode == 39 ) {
event.returnValue = false;
}
}
/*
* 數位ASCII表示範圍為 45~57
*/
function checkPostalCode() {
if( event.keyCode < 45 || event.keyCode >57 ) {
event.returnValue = false;
}
}
/*
* 大寫英文字母ASCII表示範圍為65~91
* 小寫英文字母ASCII表示範圍為97~123
*/
function checkEnglish() {
if( event.keyCode < 65 || event.keyCode > 91 ) {
event.returnValue = false;
}
}
</script>