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

时间:2023-03-08 23:13:53
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" onkeyup="replaceStr();"/>
</body>
</html>

3、实现结果

(1)初始化

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

(2)输入“3”后

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

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />

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);
});