1. 程式人生 > >js----text只可以輸入數字(0-9)

js----text只可以輸入數字(0-9)

 方法1:

// 只可以輸入數字(0-9)
sofia.numOnly = function(ev) {
	var keyValue ;
	var returnValue = true ;

	//Alt有效
	if (ev.altKey) {
		return true;
	}

	try {
              //86-->v      45-->insert   67-->c 設定組合鍵無效(比如無法貼上複製(ev.keyCode == 86 && ev.ctrlKey))
	 	if ( (ev.keyCode == 86 && ev.ctrlKey) ||
                     (ev.keyCode == 45 && ev.shiftKey) || 
                     (ev.keyCode == 67 && ev.ctrlKey)   ) {
	 		return false;
	 	}

		keyValue = ev.which;
		if (ev.metaKey == true) {
			returnValue = true;
		} else {
			if (keyValue == 48) {returnValue = true;}         //鍵盤上部 0
			else if (keyValue == 49) {returnValue = true;}	  //鍵盤上部 1
			else if (keyValue == 50) {returnValue = true;}    //鍵盤上部 2
			else if (keyValue == 51) {returnValue = true;}    //鍵盤上部 3
			else if (keyValue == 52) {returnValue = true;}    //鍵盤上部 4
			else if (keyValue == 53) {returnValue = true;}    //鍵盤上部 5
			else if (keyValue == 54) {returnValue = true;}    //鍵盤上部 6
			else if (keyValue == 55) {returnValue = true;}    //鍵盤上部 7
			else if (keyValue == 56) {returnValue = true;}    //鍵盤上部 8
			else if (keyValue == 57) {returnValue = true;}    //鍵盤上部 9
			else if (keyValue == 96) {returnValue = true;}    //0
			else if (keyValue == 97) {returnValue = true;}    //1
			else if (keyValue == 98) {returnValue = true;}    //2
			else if (keyValue == 99) {returnValue = true;}    //3
			else if (keyValue == 100) {returnValue = true;}	  //4
			else if (keyValue == 101) {returnValue = true;}   //5
			else if (keyValue == 102) {returnValue = true;}   //6
			else if (keyValue == 103) {returnValue = true;}   //7
			else if (keyValue == 104) {returnValue = true;}    //8
			else if (keyValue == 105) {returnValue = true;}    //9
			else if (keyValue == 8) {returnValue = true;}		//Back Space
			else if (keyValue == 37) {returnValue = true;}	//Left
			else if (keyValue == 39) {returnValue = true;}	//Right
			else if (keyValue == 36) {returnValue = true;}	//Home
			else if (keyValue == 35) {returnValue = true;}	//End
			else if (keyValue == 46) {returnValue = true;}	//Del
			else if (keyValue == 9) {returnValue = true;}		//Tab
			else if (keyValue == 27) {returnValue = true;}	// ESC
			else if (keyValue == 13) {returnValue = true;}
			else {
				ev.returnValue = false;
				returnValue = false;
			}
		}
	} catch (e) {
		;
	}
	return returnValue;
}

 方法2:

// 只可以輸入數字(0-9)
sofia.numOnly = function(ev) {
	var keyValue ;
	var returnValue = true ;

	//Alt有效
	if (ev.altKey) {
		return true;
	}

	try {
              //86-->v      45-->insert   67-->c 設定組合鍵無效(比如無法貼上複製(ev.keyCode == 86 && ev.ctrlKey))
	 	if ( (ev.keyCode == 86 && ev.ctrlKey) ||
                     (ev.keyCode == 45 && ev.shiftKey) || 
                     (ev.keyCode == 67 && ev.ctrlKey)   ) {
	 		return false;
	 	}

		keyValue = ev.which;
		if (ev.metaKey == true) {
			returnValue = true;
		} else {
			if      ( (keyValue >= 48) && (keyValue <=  57) ) {returnValue = true;}	// 0~9
			else if ( (keyValue >= 96) && (keyValue <= 105) ) {returnValue = true;}	// テンキー 0~9
			else if (keyValue == 8) {returnValue = true;}	//Back Space
			else if (keyValue == 37) {returnValue = true;}	//Left
			else if (keyValue == 39) {returnValue = true;}	//Right
			else if (keyValue == 36) {returnValue = true;}	//Home
			else if (keyValue == 35) {returnValue = true;}	//End
			else if (keyValue == 46) {returnValue = true;}	//Del
			else if (keyValue == 9) {returnValue = true;}		//Tab
			else if (keyValue == 27) {returnValue = true;}	// ESC
			else if (keyValue == 13) {returnValue = true;}
			else {
				ev.returnValue = false;
				returnValue = false;
			}
		}
	} catch (e) {
		;
	}
	return returnValue;
}

 

 可以輸入小數:

 

// 只可以輸入數字(0-9)
sofia.numOnly = function(ev) {
	var keyValue ;
	var returnValue = true ;

	//Alt有效
	if (ev.altKey) {
		return true;
	}

	try {
              //86-->v      45-->insert   67-->c 設定組合鍵無效(比如無法貼上複製(ev.keyCode == 86 && ev.ctrlKey))
	 	if ( (ev.keyCode == 86 && ev.ctrlKey) ||
                     (ev.keyCode == 45 && ev.shiftKey) || 
                     (ev.keyCode == 67 && ev.ctrlKey)   ) {
	 		return false;
	 	}

		keyValue = ev.which;
		if (ev.metaKey == true) {
			returnValue = true;
		} else {
			if( (keyValue >= 48) && (keyValue <=  57) ){returnValue = true;}	// 0~9
			else if ( (keyValue >= 96) && (keyValue <= 105) ){returnValue = true;}// テンキー 0~9
                        else if (  keyValue == 110) {returnValue = true;}// テンキー[.]
			else if (  keyValue == 190) {returnValue = true;}// .
			else if (keyValue == 8) {returnValue = true;}	//Back Space
			else if (keyValue == 37) {returnValue = true;}	//Left
			else if (keyValue == 39) {returnValue = true;}	//Right
			else if (keyValue == 36) {returnValue = true;}	//Home
			else if (keyValue == 35) {returnValue = true;}	//End
			else if (keyValue == 46) {returnValue = true;}	//Del
			else if (keyValue == 9) {returnValue = true;}		//Tab
			else if (keyValue == 27) {returnValue = true;}	// ESC
			else if (keyValue == 13) {returnValue = true;}
			else {
				ev.returnValue = false;
				returnValue = false;
			}
		}
	} catch (e) {
		;
	}
	return returnValue;
}