答案是:拒绝回答!因为题中有错,比如 formatUnvalidChar 函数中:
j2 = cSelectSql.indexOf(")",j1)+1;  // 如果 cSelectSql 在最后一个 "(" 后没有")"了,
                                    // cSelectSql.indexOf(")",j1) 返回 -1, 所以 j2 = 0!所以 (j2 == -1) 永远不可能成立, formatUnvalidChar 无法判断括号是否匹配. 可以这么判断:
if (j2 <= j1 + 1) .... // 如果最后一个 "(" 后没有")"或者这对括号中无内容, 则 ...出题者水平尚且如此, 不答也罢!