替换js中函数的参数
2008-11-23 12:48
169 查看
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* 改变javascript中 iPanel.pageWidgets.create(,,,,)函数的第二个参数
* @author huangfei
* @create 2008-11-23 上午11:50:48
* @since
* @param jsFileStr
* @param modulType 该函数的第一个参数值等于modulType的值时才被改变
* @param realVaule 改变后的真实值
* @return
*/
public String replaceParameterInJs(String jsFileStr,String modulType,String realVaule){
// modulType="nvodFirst_ad0";
realVaule="/""+realVaule+"/""; //"/"4584891248.htm/"";
/**
* regex for: iPanel.pageWidgets.create("nvodFirst_ad0", "ui://nvodFirst_ad0.htm", 3, 0)
* is: "(iPanel.pageWidgets.create//(//s*/"([//w|_]*)/"//s*,//s*/"ui://([//w|_|//.]*)/"//s*,[^)]*//))";
*/
String regex4function = "(iPanel.pageWidgets.create//(//s*/""+modulType+"/"//s*,//s*/"ui://([//w|_|//.]*)/"//s*,[^)]*//))";
Pattern pattern4function = Pattern.compile(regex4function);
Matcher matcher4function = pattern4function.matcher(jsFileStr);
ArrayList realStrList = new ArrayList();
while(matcher4function.find()){
String realStr = matcher4function.group(1);
System.out.println("find relative function:"+realStr);
String regex4Parameter="/"ui://([//w|_|//.]*)/"";
Pattern pattern4Parameter = Pattern.compile(regex4Parameter);
Matcher matcher4Parameter = pattern4Parameter.matcher(realStr);
realStr=matcher4Parameter.replaceAll(realVaule);
realStrList.add(realStr);
}
matcher4function = pattern4function.matcher(jsFileStr);
int i = 0;
while(matcher4function.find()){
jsFileStr = matcher4function.replaceFirst((String)realStrList.get(i));
i++;
matcher4function = pattern4function.matcher(jsFileStr);
}
return jsFileStr;
}
import java.util.regex.Pattern;
/**
* 改变javascript中 iPanel.pageWidgets.create(,,,,)函数的第二个参数
* @author huangfei
* @create 2008-11-23 上午11:50:48
* @since
* @param jsFileStr
* @param modulType 该函数的第一个参数值等于modulType的值时才被改变
* @param realVaule 改变后的真实值
* @return
*/
public String replaceParameterInJs(String jsFileStr,String modulType,String realVaule){
// modulType="nvodFirst_ad0";
realVaule="/""+realVaule+"/""; //"/"4584891248.htm/"";
/**
* regex for: iPanel.pageWidgets.create("nvodFirst_ad0", "ui://nvodFirst_ad0.htm", 3, 0)
* is: "(iPanel.pageWidgets.create//(//s*/"([//w|_]*)/"//s*,//s*/"ui://([//w|_|//.]*)/"//s*,[^)]*//))";
*/
String regex4function = "(iPanel.pageWidgets.create//(//s*/""+modulType+"/"//s*,//s*/"ui://([//w|_|//.]*)/"//s*,[^)]*//))";
Pattern pattern4function = Pattern.compile(regex4function);
Matcher matcher4function = pattern4function.matcher(jsFileStr);
ArrayList realStrList = new ArrayList();
while(matcher4function.find()){
String realStr = matcher4function.group(1);
System.out.println("find relative function:"+realStr);
String regex4Parameter="/"ui://([//w|_|//.]*)/"";
Pattern pattern4Parameter = Pattern.compile(regex4Parameter);
Matcher matcher4Parameter = pattern4Parameter.matcher(realStr);
realStr=matcher4Parameter.replaceAll(realVaule);
realStrList.add(realStr);
}
matcher4function = pattern4function.matcher(jsFileStr);
int i = 0;
while(matcher4function.find()){
jsFileStr = matcher4function.replaceFirst((String)realStrList.get(i));
i++;
matcher4function = pattern4function.matcher(jsFileStr);
}
return jsFileStr;
}
相关文章推荐
- js函数:改变页面url替换指定传入参数的值
- JS中this和对象作为函数参数的区别
- JS 函数参数
- JS中setInterval、setTimeout不能传递带参数的函数的解决办法
- js中对函数设置默认参数值的3种方法
- JS中使用apply、bind实现为函数或者类传入动态个数的参数
- js 所传参数为一个函数体 的 函数调用
- JS中使用apply、bind实现为函数或者类传入动态个数的参数
- js将函数作为参数
- js的全部替换函数replaceAll
- JS、replace利用正则表达式替换SQL所有参数为指定格式的数据
- js 函数参数形式
- php脚本巧用正则批量替换函数参数
- js函数参数设置默认值的一种变通实现方法
- JS中给函数参数添加默认值
- gridview的行号作为js函数参数的传递方法
- js 函数作为参数及返回值的例子
- js动态执行参数中的函数
- JS字符串替换函数全部替换方法 JS 正则表达式如何使用变量
- js 取得遍历函数参数