如何在织梦DedeCMS自定义表单中添加针对手机号码和邮箱的php验证规则?
- 行业动态
- 2024-10-15
- 2
“
php,function checkPhoneEmail($value) {, $phonePattern = "/^1[3456789]d{9}$/";, $emailPattern = "/^w+([+.]w+)*@w+([.]w+)*.w+([.]w+)*$/";, return preg_match($phonePattern, $value) || preg_match($emailPattern, $value);,},
“
织梦DedeCMS自定义表单手机号码和邮箱的php验证规则
手机号码验证规则
在织梦CMS中,可以通过正则表达式来验证用户输入的手机号码是否合法,以下是一个简单的示例代码:
// 判断手机号码是否正确 if (!preg_match("/^1[39]d{9}$/", $telphone)) { showMsg('手机号码不对,请正确填写', '1'); exit(); }
在这个正则表达式中:
^
表示字符串的开始。
1[39]
匹配第二个数字为3到9之间的任意一个数字(即中国的手机号码前两位)。
d{9}
匹配后面9个数字。
$
表示字符串的结束。
邮箱验证规则
同样地,可以使用正则表达式来验证用户输入的邮箱地址是否合法,以下是一个简单的示例代码:
// 验证邮箱地址 if (!filter_var($email, FILTER_VALIDATE_EMAIL)) { echo "请您填写正确的EMail地址!"; exit(); }
在这个例子中,我们使用了PHP内置的filter_var
函数,该函数可以很方便地验证电子邮件地址的格式是否正确。
综合应用示例
以下是一个综合应用的示例,将上述两个验证规则整合到织梦CMS的自定义表单处理中:
// 获取表单提交的数据 $telphone = $_POST['telphone']; $email = $_POST['email']; // 判断手机号码是否正确 if (!preg_match("/^1[39]d{9}$/", $telphone)) { showMsg('手机号码不对,请正确填写', '1'); exit(); } // 验证邮箱地址 if (!filter_var($email, FILTER_VALIDATE_EMAIL)) { echo "请您填写正确的EMail地址!"; exit(); } // 如果验证通过,继续处理数据...
在这个示例中,我们首先获取用户提交的手机号码和邮箱地址,然后分别进行验证,如果任何一个验证不通过,都会输出相应的错误信息并终止程序执行,如果所有验证都通过,程序将继续进行后续处理。
FAQs
Q1: 如何修改织梦CMS中的表单必填项设置?
A1: 在织梦CMS后台生成自定义表单时,可以在表单模板中添加隐藏字段来设置必填项,具体操作如下:
<input type="hidden" name="required" value="name,qq,telephone,email" />
然后在plus/diy.php
文件中的第40行左右位置添加以下代码:
if ($required != '') { $fields = explode(',', $required); if (empty($fields[0])) { showMsg('带*号的为必填内容,请正确填写', '1'); exit(); } else { foreach ($fields as $field) { if (empty($_POST[$field])) { showMsg('带*号的为必填内容,请正确填写', '1'); exit(); } } } }
这样即可确保指定字段为必填项。
Q2: 如何在织梦CMS中添加验证码功能?
A2: 在织梦CMS中添加验证码功能,可以通过以下步骤实现:
1、在DedeCMS后台生成自定义表单。
2、在表单模板中添加验证码代码:
<input type="text" id="vdcode" name="validate" style="texttransform:uppercase;" size="8"/> <img id="vdimgck" src="../include/vdimgck.php?tag=rand()" onClick="this.src=this.src+'?' alt="点击更换" align="absmiddle" style="cursor:pointer;" /> <a href="javascript:void(0)" onClick="changeAuthCode()">看不清?</a> <script type="text/javascript"> function changeAuthCode(){var num = new Date().getTime(); var rand = Math.round(Math.random() * 10000); document.getElementById('vdcode').value = ''; document.getElementById('vdimgck').src = '../include/vdimgck.php?tag=' + num + '&' + rand; return false;} </script>
3、在当前页添加JS代码:
<script type="text/javascript"> function changeAuthCode(){var num = new Date().getTime(); var rand = Math.round(Math.random() * 10000); document.getElementById('vdcode').value = ''; document.getElementById('vdimgck').src = '../include/vdimgck.php?tag=' + num + '&' + rand; return false;} </script>
4、修改订单处理页面,打开网站根目录/plus/diy.php文件,在第61行左右位置添加验证代码:
if(!empty($dede_fields)){$validate=empty($validate) ? '':strtolower(trim($validate));$svali=strtolower(GetCkVdValue());if(($validate==''||$validate!=$svali)&&preg_match("/6/",$safe_gdopen)){ ResetVdValue(); ShowMsg('验证码不正确!','1');exit;}}
这样即可在织梦CMS中添加验证码功能,防止反面提交。
| 验证字段 | 验证规则 | PHP代码示例 |
| | | |
| 手机号码 | 验证是否为有效的手机号码 | “`php
function is_valid_phone($phone) {
$pattern = ‘/^1[3456789]d{9}$/’, ‘/^d{11}$/’, ‘/^d{3}d{8}$/’, ‘/^d{4}d{7}$/’;
return preg_match($pattern, $phone);
“` |
| 邮箱 | 验证是否为有效的邮箱地址 | “`php
function is_valid_email($email) {
$pattern = ‘/^[azAZ09._%+]+@[azAZ09.]+.[azAZ]{2,}$/’;
return preg_match($pattern, $email);
“` |
说明:
1、手机号码验证:
第一个正则表达式'/^1[3456789]d{9}$/'
用于匹配中国大陆的手机号码。
第二个正则表达式'/^d{11}$/'
用于匹配11位数字的手机号码。
第三个正则表达式'/^d{3}d{8}$/'
用于匹配形如"12345678901"的手机号码。
第四个正则表达式'/^d{4}d{7}$/'
用于匹配形如"12345678901"的手机号码。
2、邮箱验证:
正则表达式'/^[azAZ09._%+]+@[azAZ09.]+.[azAZ]{2,}$/'
用于匹配常见的邮箱地址格式。
在使用这些验证规则时,可以根据实际需求选择合适的正则表达式,并确保表单输入符合要求。
本站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本站,有问题联系侵删!
本文链接:http://www.xixizhuji.com/fuzhu/126716.html