var jtj_code_lines = []; // this array will hold all the jtj codes line
var JTJ = function(j){
j = j.replace(" ","");
jtj_code_lines = j.split(';'); // splitting all the lines seperated from ;
for(var i=0; i<jtj_code_lines.length; i++){
if(jtj_code_lines[i].charAt(0) === '*'){ // * means that the following word is the name of a method that will perform some action
var q1 = jtj_code_lines[i].replace('*', ''),
q1_pos_1 = q1.indexOf('['); // find the position of the keyword [
var q1_funcname = q1.slice(0, q1_pos_1); // it find the name of that perticular function
if(q1_funcname === "Message"){ // this checks weather the function name is message
var q1_pos_2 = q1.indexOf(']'), // this ifnds the position of keyword ]
q1_func_value = q1.slice(q1_pos_1+1, q1_pos_2); // this finds what is written inside [] and accepts as the value of Message
alert(q1_func_value);
}else{
}
}
}
};
所以上面的函数非常简单,它找到了用括号写的特定文本,我的意思是如果你写的话:
JTJ('*Message[hi];')
然后它会提醒hi
并且这是简单的退出并且这是预期的警告但问题是,如果任何*
在空白之后然后该特定的事情没有被警告,所以以下具有相同的条件,*Message[go ];
以空格开头,因此不会被警告:
JTJ('*Message[sanmveg];*Message[saini]; *Message[go ];')
但我有一行j = j.replace(" ","");
删除所有空格,然后为什么它不起作用?还有其他办法吗?
感谢。
答案 0 :(得分:1)
Fix: j = j.replace(/\s/gi,"");
这将删除所有“”和“”,简而言之,它将充当replaceAll。 在它刚刚用“”替换第一个匹配的“”之前。