从java程序中查看javascript文本中的一些块列出的关键字

时间:2017-11-28 08:08:04

标签: javascript regex validation string-comparison

我有简单的javascript作为我的方法的文本输入,我只需要验证此文本并确保它不包含一些块列出的单词(例如 eval )in它,但同时,我想忽略被定义为字符串变量的注释文本或文本。

我只是使用简单的正则表达式来实现这一点,但是我不能忽略这种方法中的注释和字符串变量。

  public void isValidJavascript(String source, String blocklistedWord) {
     String pattern = "\\b"+blocklistedWord+"\\b";
     Pattern p=Pattern.compile(pattern);
     Matcher m=p.matcher(source);
     if(m.find()){
         System.out.println("Invalid javascript");
     }
    }

示例Javascript,我们假设我的阻止列出的关键字是 import 这个例子,所以我希望contains方法为此返回false,因为正则表达式应该忽略在注释行和变量中的导入海峡

//there is import keyword in below string variable
var str = "Apple, Banana, Kiwi, import";
var res = str.slice(7,13);
console.log(res);

0 个答案:

没有答案