我试图转换从路由器,包括多个\r\n
到新的行复制返回的输出是作为漂亮的结果配置缩进用户从UI查看。但是我下面的脚本不起作用。我从谷歌上参考了一些参考资料,也没有多大帮助。有人有解决办法吗?目前我使用MacOS平台和最新的Chrome开发。
示例输出
{
"status": "success",
"output": {
"ipv4_address": "xxx/xx",
},
"ne_response": "... \r\r\n--- {master}\r\nRouter@xyz> show ... inet address xxx/30\r\n\r\n{master}\r\nRouter@xyz> "
}
电流输出(\r\n
不工作)
超文本标记语言
<textarea class="form-control" id="viewConfig"></textarea>
jQuery(所有不转换为新行)
$("#viewConfig").on("keyup", function(){
var vConfig = $("#viewConfig").val().replace(/\r\n|\r|\n/g, "\\n"); // double backslash not working
var vConfig = $("#viewConfig").val().replace(/\r\n|\r|\n/g, "\n"); // single backslash not working
$('#viewConfig').html(vConfig);
});
$("#viewConfig").on("keyup", function(){
var vConfig = $('#viewConfig').val().replace(/\n/g, "\\n"); // double backslash not working
var vConfig = $('#viewConfig').val().replace(/\n/g, "\n"); // single backslash not working
$('#viewConfig').html(vConfig);
});
$("#viewConfig").on("keyup", function(){
var vConfig = $("#viewConfig").val().replace(/[\r\n]+/gm, " ");
$('#viewConfig').html(vConfig);
});
1条答案
按热度按时间zlwx9yxi1#
IIUC,你实际上要做的是用一个
\n
替换多次出现的\r
或\n
。您可以使用正则表达式[\r\n]+
来实现这一点,它将匹配一个或多个\r
或\n
字符。然后可以用一个换行符"\n"
替换它。请注意,在引用文本区域时,需要替换val
,而不是html
。在下面的文本框中键入字符以查看效果:
注意,您可以简单地使用
$(this)
在事件处理程序中引用$("#viewConfig")
(请参阅manual)。