JS、replace利用正则表达式替换SQL所有参数为指定格式的数据

时间:2021-05-02

SQL参数格式 例如:select * from tb where nd=:nd and yd=:yd
想一次性把所有SQL语句中参数(带冒号)全部换成数据,
开始
选定用正则表达式。
原先写这样

复制代码 代码如下:


strsql.replace(/(:\w+)/g,(“$1”).substring(1));


"$1" 总是本解析成字符串,而不是匹配的值
换成

复制代码 代码如下:


strsql.replace(/(:\w+)/g,$1);


又不能给出匹配值,$1 要想得到匹配值必须要带双引号。
后突发奇想加了个方法
把$1 当成参数传递,如下

复制代码 代码如下:


var strsql = strsql.replace(/(:\w+)/g, function ($1) { var b = $1; return $("#" + b.substring(1)).val(); });


解决了

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章