JavaScript替换字符串中最后一个字符

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" οnkeyup="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);
	}); 


原文地址:https://www.cnblogs.com/hzcya1995/p/13314434.html