Run Code
|
API
|
Code Wall
|
Misc
|
Feedback
|
Login
|
Theme
|
Privacy
|
Patreon
js
//'main' method must be in a class 'Rextester'. //openjdk version '11.0.5' import java.util.*; import java.lang.*; import javax.script.Invocable; import javax.script.ScriptEngine; import javax.script.ScriptEngineManager; import javax.script.ScriptException; class Rextester { public static void main(String args[]) throws Exception { String FUNCOES_BASE = montarFuncoesBase (); ScriptEngineManager factory = new ScriptEngineManager(); ScriptEngine scriptEngine = factory.getEngineByName("JavaScript"); scriptEngine.put("valor", "123456"); scriptEngine.eval(FUNCOES_BASE); Invocable invocable = (Invocable) scriptEngine; System.out.print((Boolean)invocable.invokeFunction("isNotEmpty")); } private static String montarFuncoesBase () { StringBuilder funcoes = new StringBuilder(); funcoes.append(montarFuncaoIsNotEmpty()); //funcoes.append(montarFuncaoIsNumeric()); //funcoes.append(montarFuncaoIsNumericoSemZeroEsquerda()); //funcoes.append(montarFuncaoIsTipoPessoaValido()); funcoes.append(montarFuncaoIsDataValida()); //funcoes.append(montarFuncaoIsAgenciaValida()); //funcoes.append(montarFuncaoIsContaValida()); return funcoes.toString(); } private static String montarFuncaoIsNumeric () { return "function isNumerico () { var regex = new RegExp(/^\\d+$/); return regex.test(valor); }"; } private static String montarFuncaoIsNotEmpty () { return "function isNotEmpty () { return valor.trim().length > 0 }"; } private static String montarFuncaoIsNumericoSemZeroEsquerda () { return "function isNumericoSemZeroEsquerda () { var regex = new RegExp(/^\\d+$/); var isNumerico = regex.test(valor); regex = new RegExp(/^0\\d*$/); var iniciaComZero = regex.test(valor); return (isNumerico && !iniciaComZero); }"; } private static String montarFuncaoIsTipoPessoaValido () { return "function isTipoPessoaValido () { return valor == 3 || valor == 6; }"; } private static String montarFuncaoIsAgenciaValida () { return "function isAgenciaValida () { var regex = new RegExp(/^\\d{1,5}$/); return regex.test(valor); }"; } private static String montarFuncaoIsContaValida () { return "function isContaValida() { var regex = new RegExp(/^\\d{1,13}$/); return regex.test(valor); }"; } private static String montarFuncaoIsDataValida () { StringBuilder function = new StringBuilder() .append("function isDataValida () {") .append(" var regexDate = /^(\\d{4})(\\d{2})(\\d{2})$/;") .append(" var regexDateTime = /^(\\d{4})(\\d{2})(\\d{2})\\s*(\\d{2})(\\d{2})(\\d{2})$/;") .append(" if (new RegExp(regexDate).test(valor)) {") .append(" let parts = regexDate.exec(valor);") .append(" let date = new Date(parts[1], (+parts[2])-1, parts[3]);") .append(" if (date.getDate() == parts[3] && date.getMonth() == (parts[2]-1) && date.getFullYear() == parts[1]) {") .append(" return true; ") .append(" }") .append(" }") .append(" if (new RegExp(regexDateTime).test(valor)) {") .append(" let parts = regexDateTime.exec(valor);") .append(" let date = new Date(parts[1], (+parts[2])-1, parts[3], parts[4], parts[5], parts[6]);") .append(" if (date.getDate() == parts[3] && date.getMonth() == (parts[2]-1) && date.getFullYear() == parts[1] && date.getHours() == parts[4] && date.getMinutes() == parts[5] && date.getSeconds() == parts[6]) {") .append(" return true; ") .append(" }") .append(" }") .append(" return false;") .append("}"); return function.toString(); // return "function isDataValida () { var regex = new RegExp(/^\\d{8}(\\s\\d{6})?$/); return regex.test(valor);}"; } }
run
|
edit
|
history
|
help
0
1a
dfkbzhfvjahfjh
Odd Occurence Problem Template
Java messing around
1.6
1(B)
print alphabets using stars
Java
4a
Sqrt