Javascript 查找并将::123::文本框中的文本更改为图像

Javascript 查找并将::123::文本框中的文本更改为图像,javascript,jquery,html,Javascript,Jquery,Html,我正在为我的站点制作一个小的笑脸脚本,我想知道如何使用jquery/javascript在输入框(文本)中的句子中查找::id:: 例如: 我已经在我的文本框中输入了::123::,当我单击enter时,jquery将查找它并从中获取id,即123,然后将其转换为图像 <input id="tb" type="text" value=""></input><input id="btn" type="submit" value="Send"></input

我正在为我的站点制作一个小的笑脸脚本,我想知道如何使用jquery/javascript在输入框(文本)中的句子中查找::id::

例如: 我已经在我的文本框中输入了::123::,当我单击enter时,jquery将查找它并从中获取id,即123,然后将其转换为图像

<input id="tb" type="text" value=""></input><input id="btn" type="submit" value="Send"></input>
<div id="display">
   image will be displayed here
   <img src="...domain/image?id=123">
</div>

p/S它还将检查它是否为INTEGAR。

使用
字符串。用正则表达式和组引用替换

var strWithImgs = inputval.replace(/::(\d+)::/g, "<img src='...domain/image?id=$1'>")
$("#display").html(strWithImgs);
var strWithImgs=inputval.replace(/::(\d+::/g,”)
$(“#display”).html(strWithImgs);
$1
表示“括号中的第一个表达式”,这是一段数字。

您可以这样做

$('#tb').keyup(function(e){
    if(e.which === 13){
         var value = this.value.replace(/::/g, '');
        if(jQuery.isNumeric( value )){
            $(this).next().find('img').attr('src' , "...domain/image?id="+value)
        }
    }
});

这意味着,如果用户按return键,文本字段中的值将被解析,并且在删除
后,如果它是一个数字,将用于img的src

如果有其他带有::123::id的文本怎么办?比如“hello::123::”,如果你这样做,它会得到“hello 123”@sm21guy。我想在这种情况下,值不是一个数字,它是不正确的。对不起,如果我误解了你的问题,有几种方法可以做到这一点。我觉得这条路很舒服。干杯它是一个正则表达式,匹配“2个冒号,后跟1个或多个数字,后跟2个冒号”。当然:这是一个正则表达式(如果您一般不熟悉它们,那么您应该学习,因为它们非常方便)。斜线表示表达式的开始和结束。冒号是文字冒号,斜杠-d表示“一个数字”。加号表示“一个或多个”。所以整个意思是“一些冒号之间有一个或多个数字”。结尾的“g”表示“这适用于字符串中的所有匹配模式,而不仅仅是一次”。行了,apsillers,我将查找它。谢谢你的帮助。
$('#tb').keyup(function(e){
    if(e.which === 13){
         var value = this.value.replace(/::/g, '');
        if(jQuery.isNumeric( value )){
            $(this).next().find('img').attr('src' , "...domain/image?id="+value)
        }
    }
});