如何使用正则表达式匹配两个字符

时间:2013-08-11 15:22:08

标签: javascript regex

这就是我想要在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(/^\+@\*+$/);

1 个答案:

答案 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”)