神秘error
JavaScript
String.prototype.replaceAll = function(targetText, newText){
var result = this.replace(new RegExp(targetText, 'g'),newText);
return result;
}
var result = returnRealQuery("柯文哲")
console.log(result)
// 回傳正規化的關鍵字詞
function returnRealQuery(keyword){
if(!keyword){
return {query:[],keyword:""};
}
// console.log(keyword)
var obj = {};
obj['query'] = [];
if (keyword == '__ALL__') {
obj['query'][0] = '__ALL__';
obj['keyword'] = '"__ALL__"';
} else {
var syntaxArr = ['+', '&', '+', '&', ' ', ' ', '-', '!', '-', '!', '/', '/', '|', '|', ',', ',', ')', '('];
var wordArr = ['not', 'NOT', 'Not', 'or', 'OR', 'Or', ',', 'and', 'AND', ' ', ' '];
// Trim spaces from start and end of the string.
keyword = keyword.replace(/^\s+|\s+$/g, "");
var queueStatus = 0,
queue = '',
resultQueue = '',
commaCounter = 0;
for (var i in keyword) {
console.log(i)
if (keyword[i] == '"') {
queueStatus += 1;
}
if (keyword[i] == ',' || keyword[i] == ',') {
commaCounter += 1;
}
if (queueStatus % 2 == 1) {
resultQueue += keyword[i];
} else if (queueStatus % 2 == 0 && keyword[i] == '"') {
resultQueue += keyword[i];
queue = '';
} else if (syntaxArr.indexOf(keyword[i]) >= 0) {
if (queue.length > 0) {
resultQueue += queue;
queue = '';
}
if ((keyword[i] == ',' || keyword[i] == ',') && commaCounter == 1) {
resultQueue += keyword[i].replace(/,|,/g, '|(');
continue;
} else if ((keyword[i] == ',' || keyword[i] == ',') && commaCounter > 1) {
resultQueue += keyword[i].replace(/,|,/g, ')|(');
} else {
...