关于设置Emlog评论人邮件必填的操作方法

emlog教程 3年前 (2018) Mgo
0

使用Emlog博客的朋友应该都知道Emlog评论人邮件不是必填的,下面说下修把Emlog评论人邮件改为必填的方法,本方法思路来源于EM论坛,经舍力测试(测试版本5.3.1)修改后可以正常使用

找到根目录下include/controller/comment_controller.php这个文件中的

elseif ($mail != '' && !checkMail($mail)) { emMsg('评论失败:邮件地址不符合规范');



替换成

elseif (empty($mail) || !checkMail($mail)){ emMsg('提交失败:邮件地址不规范,请输入正确的E-mail地址', 'javascript:history.back(-1);');

这个就可以实现Emlog评论人邮件必填,需要的朋友动手试试吧,如有疑问,可在下面留言。

网址必填的方法也一样,只需要把

elseif (!empty($url) && preg_match("/^(http|https)://[^<>'"]*$/", $url) == false) {  emMsg('评论失败:主页地址不符合规范','javascript:history.back(-1);');

用下面代码替换即可

elseif (empty($url) || preg_match("/^http://[A-Za-z0-9]+.[A-Za-z0-9]+[/=?%-&_~`@[]’:+!]*([^<>"])*$/", $url) == false) {  emMsg('评论失败:网址不符合规范,请使用正确的网址','javascript:history.back(-1);');

以上方法需要修改emlog内核,下面舍力讲下不修改的内核实现的方法(其实就是js判断实现,需要在module.php文件评论表单的form中加入name="sheli"):代码如下

<script language=JavaScript> function CheckForm(){ if(document.sheli.comname.value.length == 0) { alert("请输入昵称"); document.sheli.comname.focus(); return false; } if(document.sheli.commail.value.length == 0) { alert("请输入邮箱地址"); document.sheli.commail.focus(); return false; } var reg = /^([a-zA-Z0-9]+[_|_|.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|_|.]?)*[a-zA-Z0-9]+.[a-zA-Z]{2,3}$/; if(!reg.test(document.sheli.commail.value)) { alert("邮箱地址错误,请输入正确的邮箱地址"); document.sheli.commail.focus(); return false; } var reg = /^http://[A-Za-z0-9]+.[A-Za-z0-9]+[/=?%-&_~`@[]:+!]*([^<>"])*$/;  if(!reg.test(document.sheli.comurl.value) && (document.sheli.comurl.value))  {  alert("请输入正确的网站地址,加http://或不填写"); document.sheli.comurl.focus(); return false; } if(document.sheli.comment.value.length == 0) { alert("请填写评论内容且评论内容需包含中文"); document.sheli.comment.focus(); return false; } } </script>

把上面代码放入有留言本的页面最下方即可

版权声明:Mgo 发表于 2018-08-12 8:40:33。
转载请注明:关于设置Emlog评论人邮件必填的操作方法 | 站长聚集地

暂无评论

暂无评论...