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

find and change ::123:: text inside a textbox into an image

本文关键字:文本 图像 查找      更新时间:2023-09-26

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

示例:我已经在我的文本框中键入::123::,当我点击输入时,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>

jQuery:

var inputval = $('#tb').val();
$(document).ready(function(){
   $('#btn').click(function(){
       //get the id from inputval(variable)
   });
});

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

使用带有正则表达式和组引用的String.replace

var strWithImgs = inputval.replace(/::('d+)::/g, "<img src='...domain/image?id=$1'>")
$("#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)
        }
    }
});

这意味着,如果用户按返回,则文本字段内的值将被解析,并且在删除::之后,如果它是一个数字,则将用于img 的src