删除时将字符替换为另一个字符
replacing the character with another one on deleting
例如:我有这个值的输入:(099) 123 45 67我想在删除时用下划线 ( _
) 替换数字,如下所示:(099) 123 __ __
我怎么做?我有一个函数,它返回我当前的字符位置。然后用charAt()
我得到这个字符,然后用replace()
替换它。但是,如果有多个相同的字符,它将替换第一个字符,而不是光标旁边的字符。有什么想法吗?
我认为标准的replace()
函数无法适应这种类型的替换。
您必须使用 substring()
将字符串拆分为 to(一个字符串在字符之前,一个在字符之后),然后将它们与中间的'_'
连接在一起。
使用 replace as 正则表达式函数。为此,请使用斜杠中的搜索表达式。要查找所有匹配项(所有数字,而不仅仅是第一个),请在搜索表达式后添加"g",将其与全局选项一起使用。在您的情况下,您应该使用 replace(/[0-9]/g, "_")
不同的答案 - 有点类似于@samjudson所说的:
你需要使用子字符串,但它有点复杂。
对于 IE 或 Opera,请使用以下对象:document.selection.createRange().text = "_";
对于 Mozilla 浏览器,请使用:
inputBox.focus();
var position = inputBox.selectionStart; //selectionEnd would work as well
inputBox.value = inputBox.value.substring(0, position) + '_' +
inputBox.value.substring(position, inputBox.value.length);
来自RT编辑的想法,例如这个:),以及维基百科上的那个。
相关文章:
- 如何检查一个字符串的所有字符是否都存在于另一个字符串中
- 在另一个由非字母数字字符分隔的字符串中搜索(任何)字符串
- 如何在javascript中将一个数组中的某些部分转换为另一个字符
- 用特殊的字符将值从一个函数传递到另一个函数
- 考虑到我在JavaScript中使用.replace.更改了特定单词中间的另一个字符,我如何在该单词之前添加字符
- 检查另一个字符串 JavaScript 中一个字符串是否有任何字符的最佳方法
- 如何根据 javascript 中的两个字符比较从另一个字符串中提取字符串
- 如何从另一个长字符串创建最多 12 个字符的加密字符串
- Javascript Cryptography - 将一个字符转换为另一个字符
- 删除时将字符替换为另一个字符
- 只将输入的字符从一个文本框复制到另一个
- 嵌套将字符串连接到特定单词后的另一个字符串中
- 如果字符串是单个字符,则替换字符串,如果后跟另一个字符,则不替换字符串
- Regex将每个字符替换为另一个字符,'s在方括号中
- Javascript Lingo游戏-字符串字符等于另一个字符串字符
- 如何将 Javascript 字符串中的“/”替换为另一个字符
- 将内容从一个特殊字符获取到另一个特殊字符
- 函数来确定一个字符串是否只包含来自另一个字符串的字符
- 使用javascript将一个字符动态替换为另一个字符,而不将页面返回到初始状态
- 如何在另一个字符之前插入一个字符