事情的起因是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()

声明:有的资源均来自网络转载,版权归原作者所有,如有侵犯到您的权益 请联系邮箱:312334557@qq.com 我们将配合处理!

原文地址:《帝国cms过滤反斜杠怎么办?帝国cms模版""反斜杠被过滤的解决办法》发布于2022-07-28 08:43:55

相关推荐