JavaScript实现替换字符串中最后一个字符的方法
本文介绍如何在JavaScript中实现替换字符串最后一个字符的功能,适用于限制输入长度的场景。通过原生JS和jQuery两种方案,演示如何监听键盘事件并截取前11位字符后追加新输入的数字,确保输入框始终保持在12位长度。
JavaScript替换字符串最后一位字符
本文介绍一种在JavaScript中替换字符串最后一个字符的实现方式,供读者参考。
问题背景与实现逻辑
1、问题背景
设定一个输入框,限制其字符串最大长度为12位。当用户通过键盘输入数字时,系统会将字符串的最后一位替换为新输入的数字。例如,初始字符串为111111111111,此时输入数字3,显示结果变为111111111113。
2、具体实现
原生JavaScript实现方案
<!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中的实现方法:
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相关内容感兴趣的读者可查看本站专题:《JavaScript数学运算用法总结》、《JavaScript中json操作技巧总结》、《JavaScript切换特效与技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript动画特效与技巧汇总》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》及《JavaScript遍历算法与技巧总结》
希望本文所述内容对JavaScript程序设计有所帮助。
JS语法错误会阻止加载吗?区分SyntaxError与资源加载失败
2026-11-05 16:08:46
JavaScript常见SyntaxError语法错误排查与修复方法
2026-11-05 13:58:44
JS中slice、substring和substr截取字符串的区别
2026-11-05 13:43:47
JS 转 TS 手动迁移最佳实践:从配置 tsconfig 到消除 any 类型
2026-11-05 11:53:32
为什么JS数组push后得到的是数字而不是数组?
2026-11-05 09:59:18
