如何在织梦DedeCMS自定义表单中添加针对手机号码和邮箱的php验证规则?

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验证规则

如何在织梦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后台生成自定义表单时,可以在表单模板中添加隐藏字段来设置必填项,具体操作如下:

如何在织梦DedeCMS自定义表单中添加针对手机号码和邮箱的php验证规则?

<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);

如何在织梦DedeCMS自定义表单中添加针对手机号码和邮箱的php验证规则?

“` |

| 邮箱 | 验证是否为有效的邮箱地址 | “`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,}$/' 用于匹配常见的邮箱地址格式。

在使用这些验证规则时,可以根据实际需求选择合适的正则表达式,并确保表单输入符合要求。

原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1216480.html

本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。

(0)
未希新媒体运营
上一篇 2024-10-15 07:01
下一篇 2024-10-15 07:04

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

产品购买 QQ咨询 微信咨询 SEO优化
分享本页
返回顶部
云产品限时秒杀。精选云产品高防服务器,20M大带宽限量抢购 >>点击进入