帝国cms过滤反斜杠怎么办?帝国cms模版"\"反斜杠被过滤的解决办法

www.96kaifa.com | 2017-06-28 |

事情的起因是cms大学小编在制作模板时,模板中插入了一段js代码,在前提构建html页面的时候一切正常,但制作成帝国cms模板后就出错误了,查看js报错信息如下:

这就有点奇怪了,怎么好端端的放在帝国里就报错了呢?我们往下排查,首先比对帝国cms内生成的页面,发现js代码中的反斜杠\部分消失了,这是因为帝国cms对反斜杠进行了过滤。

比如:对邮箱的正则表达式是(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/)

修改提交后 就变成了(/^w+((-w+)|(.w+))*@[A-Za-z0-9]+((.|-)[A-Za-z0-9]+)*.[A-Za-z0-9]+$/)

解决方法也很简单,将反斜杠改为四个,也就是\\\\

 

单个\用四个\表示即可,如:\r用\\\\r表示即可。帝国cms6.6以上版本还可以用转义字符函数egetzy()