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

来源:互联网 发布:演员张译 知乎 编辑:程序博客网 时间:2024/04/28 10:52

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


2 0