我们的程序为了方便扩展,有些地方需要用到脚本,如字段验证、问卷设计器等,可以考虑用 JavaScript,原因:
1、.net(引用Noesis.Javascript,基于 V8 JavaScript engine)支持直接在程序中跑 js 脚本;;
2、Java(jdk 1.6 以上)支持直接在程序中跑 js 脚本;
3、Web前端也可以做一些验证;
示例:
.net:
JavascriptContext context = new JavascriptContext(); context.SetParameter("phone", "18616786441"); string script = @"function checkphone() { if(phone.length != 11){ return false; } if(isNaN(phone)){ return false; } return true; } var rtn = checkphone();"; context.Run(script); var rtn = Boolean.Parse(context.GetParameter("rtn").ToString()); if (rtn) { Console.WriteLine("是正确的电话号码"); } else { Console.WriteLine("不是正确的电话号码"); }
java:
ScriptEngineManager sem = new ScriptEngineManager(); ScriptEngine scriptEngine = sem.getEngineByName("js"); String script = "function say(){ return 'hello," + name + "'; }"; scriptEngine.eval(script); Invocable inv2 = (Invocable) scriptEngine; String res = (String) inv2.invokeFunction("say", name); System.out.println(res);
仅作参考。