Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/416.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何用JavaScript重建字符串_Javascript_String - Fatal编程技术网

如何用JavaScript重建字符串

如何用JavaScript重建字符串,javascript,string,Javascript,String,下面的代码现在正在运行。Matt SL指出了 substr和substring之间的差异 此函数用于向文本区域中的文本添加标记,就像在Stackoverflow上的问答中用粗体显示文本一样 var lastFocus; $bold.clickfunction e{ e、 防止违约; e、 停止传播; befString=; aftString=; dif=aftString.length-befString.length; 如果最后一个焦点{ setTimeoutfunction{lastFo

下面的代码现在正在运行。Matt SL指出了 substr和substring之间的差异

此函数用于向文本区域中的文本添加标记,就像在Stackoverflow上的问答中用粗体显示文本一样

var lastFocus; $bold.clickfunction e{ e、 防止违约; e、 停止传播; befString=; aftString=; dif=aftString.length-befString.length; 如果最后一个焦点{ setTimeoutfunction{lastFocus.focus},10; var textEdit=document.getElementById'textEdit'; var befSel=textEdit.value.substr0,textEdit.selectionStart; var aftSel=textEdit.value.substrtextEdit.selectionEnd,textEdit.length; var select=textEdit.value.substrtextEdit.selectionStart,textEdit.selectionEnd-aftString.length; textEdit.value=befSel+befString+select+aftString+aftSel; } 返回false; }; $textEdit.blurfunction{ lastFocus=这个; }; 文本编辑{ 宽度:300px; 高度:200px; } 大胆的{ 字体大小:25px; 光标:指针; } 选择所有2个,然后 点击这里
11111 222 33333将定义var select的行更改为使用substring而不是substr,并且不再从textEdit.SELECTIONND中减去aftString.length。这意味着文本选择索引与子字符串函数的预期参数一致

下面是一个示例

var select = textEdit.value.substring(textEdit.selectionStart, textEdit.selectionEnd);
根据,它是选择后第一个字符的索引

和之间的差异是它们所期望的第二个参数:

substrstartIndex,长度 子字符串StartIndex,endIndex
我得到111112222333333-你期待什么?哼,我期待111112222333333,因为我只选择了2's,我假设你逐行通过这个代码来查看它在做什么?你们看到了什么?我在select上使用了substr,当时它应该是substringWright,因为substr将计数,substring正在给出位置。谢谢你,工作得很好,现在你有了答案!