Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何获取文本区域中两个特殊符号(%)之间的文本?_Javascript_Jquery - Fatal编程技术网

Javascript 如何获取文本区域中两个特殊符号(%)之间的文本?

Javascript 如何获取文本区域中两个特殊符号(%)之间的文本?,javascript,jquery,Javascript,Jquery,如何获取文本区域中两个%符号之间的文本???我尝试使用jquery.keypress()事件,得到了一定程度的结果。但如果我删除或按backspace,则不会触发keypress事件。如果使用.keyup()或.keydown(),如何检测“%”字符。。。这是我试过的 var flag = false, string = ''; $("#target").keypress(function(event) { // console.log(event,String.fromCharCode(ev

如何获取文本区域中两个%符号之间的文本???我尝试使用jquery.keypress()事件,得到了一定程度的结果。但如果我删除或按backspace,则不会触发keypress事件。如果使用.keyup()或.keydown(),如何检测“%”字符。。。这是我试过的

var flag = false,
string = '';
$("#target").keypress(function(event) {
//  console.log(event,String.fromCharCode(event.keyCode));
if ( event.which == 37 ) {  
 if(flag === true){
  flag = false;      
  alert("REsult: "+ string.slice(1));
 }      
 flag= true;
}

//  console.log(flag, event.which);
if(flag === true){
 string = string + String.fromCharCode(event.which);
}
 console.log(string);   
});
这是你的电话号码

我走的是正确的道路还是有其他更好的方法。。。请帮我提些建议试试这个

var test_str = "text to get % Other text.... migh have % s ...";
var start_pos = test_str.indexOf('%') + 1;
var end_pos = test_str.indexOf('%',start_pos);
var text_to_get = test_str.substring(start_pos,end_pos)
alert(text_to_get);
如何获取文本区域中两个%符号之间的文本


按键
也不会由编辑菜单或关联菜单中的剪切/粘贴或拖放更改触发。使用
blur
可以处理所有这些,但显然在用户离开该字段之前不会处理。假设你能抓到文本,你打算怎么处理它呢?我试图根据占位符(%)之间的文本显示一个下拉菜单,就像自动完成一样。但是我现在不想使用任何插件,我不想这样匹配。由于如果我的文本区域中存在%,则此操作将失败。。。事实上,我正试图打开一个下拉列表,当用户开始在tweets中键入类似于“@”的百分比时,
/%([^%]*)%?/
?即使这样也行不通。请参阅@Egor-answer的评论。我希望在用户开始键入百分比时发生事情。
var matches = /%([^%]*)%/.exec($("#target").val());
var result = matches ? matches[1] : null;