这就是我想要在textarea中匹配的内容:
@
+在调用@
并在其旁边添加字符作为术语时,执行自动完成操作以查找用户的任何字符。
这是textarea
<textarea></textarea>
这是js:
function strpos (haystack, needle, offset) {
var i = (haystack + "").indexOf(needle, (offset || 0));
return i === -1 ? false : i;
}
var dauto=function(){
if(strpos($(this).val(),"@ "+reg_exhere)!==false){
alert("match found");
}
}
$("textarea").bind("keyup",dauto);
$("textarea").bind("keydown",dauto);
现在我真的不知道在那里使用什么作为正则表达式,加上我不知道是否在那里使用它会有帮助,因为它会在任何字符之前松散查找@所以下面的字符串将返回true:
@ mystring
虽然我只需要找到:
@anycharacterhere
尝试过
$(this).val().match(/^\+@\*+$/);
答案 0 :(得分:1)
将String#match()
与简单正则表达式/@(\w+)/
var dauto = function(){
$( '#capture' ).html($( this ).val().match(/@(\w+)/)[1]);
}
$("textarea").bind("keyup",dauto);
$("textarea").bind("keydown",dauto);
使用以下HTML块进行测试
<textarea></textarea>
<p id="capture"></p>
JsFiddle.net 的工作演示(尝试在那里输入“hi @username”)