JAVA檢測JS腳本,很強大,佩服!

JAVA檢測JS腳本

  1. package com.yonge.validateScript;  
  2.   
  3. import java.io.File;  
  4. import java.io.FileReader;  
  5. import java.io.IOException;  
  6. import java.util.List;  
  7.   
  8. import com.googlecode.jslint4java.Issue;  
  9. import com.googlecode.jslint4java.JSLint;  
  10. import com.googlecode.jslint4java.JSLintBuilder;  
  11. import com.googlecode.jslint4java.JSLintResult;  
  12. import com.googlecode.jslint4java.Option;  
  13.   
  14. /** 
  15.  * 利用JSLint驗證js的正確性 
  16.  */  
  17. public class JSLintTest {  
  18.   
  19.     public static void main(String[] args) throws IOException {  
  20.         JSLintBuilder builder = new JSLintBuilder();  
  21.   
  22.         //使用默認的jslint.js進行初始化  
  23.         JSLint jsLint = builder.fromDefault();  
  24.         //自定義jslint.js進行初始化  
  25.         /*JSLint jsLint = builder.fromFile(new File(JSLintTest.class.getResource("/").getPath() 
  26.                                                   + "/resource/webjslint.js"));*/  
  27.         //過濾的警告選項  
  28.        jsLint.addOption(Option.SLOPPY);  
  29.         jsLint.addOption(Option.WHITE);  
  30.         jsLint.addOption(Option.EQEQ);  
  31.         jsLint.addOption(Option.NOMEN);  
  32.         jsLint.addOption(Option.UNDEF);  
  33.         jsLint.addOption(Option.CONTINUE);  
  34.         jsLint.addOption(Option.ON);  
  35.         jsLint.addOption(Option.REGEXP);  
  36.         jsLint.addOption(Option.VARS);  
  37.         jsLint.addOption(Option.PLUSPLUS);  
  38.   
  39.         //jsLint.lint(String systemId, Reader reader)第一個參數是指需要檢查的文件名稱,第二個參數是文件的內容  
  40.         JSLintResult result = jsLint.lint("test.js"new FileReader(new File(ValidateScript.class  
  41.             .getResource("/").getPath() + "/resource/test.js")));  
  42.         List<Issue> issues = result.getIssues();  
  43.         System.out.println(String.format("總共有%1$d個問題", issues.size()));  
  44.         if (issues != null && issues.size() > 0) {  
  45.             for (Issue issue : issues) {  
  46.                 System.out.println(String.format("第%1$s行的%2$s出現問題,原因:%3$s", issue.getLine(),  
  47.                     issue.getEvidence(), issue.getReason()));  
  48.             }  
  49.         }  
  50.     }  
  51. }  




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章