1. 程式人生 > >JavaScript替換字符串中最後一個字符

JavaScript替換字符串中最後一個字符

nbsp jsb [0 鍵盤 sof 擴展 call cti +=

1、問題背景

在一個輸入框中,限制字符串長度為12位。利用鍵盤輸入一個數字,會將字符串中最後一位替換,比方:111111111111。再輸入一個3,會顯示111111111113


2、詳細實現

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>JavaScript替換字符串中最後一個字符</title>
<script type="text/javascript">
    function replaceStr()
	{
		var e = event || window.event || arguments.callee.caller.arguments[0];
		var input_str = document.getElementById("input_str").value;
		var newStr = input_str.substring(0,11);
		if(e && e.keyCode>=48 && e.keyCode <= 57)
		{ 
            newStr += (e.keyCode-48);   
        }
		document.getElementById("input_str").value = newStr;
	}
</script>
</head>

<body>
    <input type="text" id="input_str" maxlength="12" onkeyup="replaceStr();"/>
</body>
</html>

3、實現結果

(1)初始化

技術分享

(2)輸入“3”後

技術分享


4、擴展附錄

jquery中的實現方法:

$("#input_str").keydown(function(event){ 
			var nums = $("#input_str").val();
			var e = event || window.event || arguments.callee.caller.arguments[0];
			var newStr = nums.substring(0,11);
			if(e && e.keyCode>=48 && e.keyCode <= 57)
			{ 
	            newStr += (e.keyCode-48);   
	        }
			
			$("#input_str").val(newStr);
	}); 


JavaScript替換字符串中最後一個字符