在文本框中找到并更改:: 123 :: text到图像中

时间:2012-03-23 13:40:43

标签: javascript jquery html

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

实施例: 我在我的文本框中键入了:: 123 ::当我点击进入时,jquery将找到它并从中获取123的id,然后将其转换为图像。

<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它还会检查它是否是intergar。

2 个答案:

答案 0 :(得分:3)

String.replace与正则表达式和组引用一起使用:

var strWithImgs = inputval.replace(/::(\d+)::/g, "<img src='...domain/image?id=$1'>")
$("#display").html(strWithImgs);

$1表示“括号中的第一个表达式”,即数字运行。

答案 1 :(得分:0)

你可以做到

$('#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 < / p>