验证 php 表单中的手机号码

2023-12-05

我想验证 10 位数字的手机号码,并在输入数据库时​​添加前缀 0。

<?php

include ('database_connection.php');

$citystate = $_POST['citystate'];
$serviceprovider = $_POST['serviceprovider'];
$accept = $_POST['accept'];
if (isset($_POST['formsubmitted'])) {
    $error = array(); //Declare An Array to store any error message 

    if (isset($_POST['checkbox'])) {
        $mumbai = (in_array("mumbai", $_POST['checkbox']) ? 1 : 0);
        $pune = (in_array("pune", $_POST['checkbox']) ? 1 : 0);
        $banglore = (in_array("banglore", $_POST['checkbox']) ? 1 : 0);
        $mysore = (in_array("mysore", $_POST['checkbox']) ? 1 : 0);
    }

    if ($mumbai + $pune + $banglore + $mysore == 0) {
        $error[] = 'Please check atleast one SMS center';
    }

    if ($accept != 1) {
        $error[] = 'Please check terms ';
    }

    if (empty($_POST['mobileno'])) {//if no name has been supplied 
        $error[] = 'Please Enter a Mobile Number '; //add to array "error"
    }
    if (empty($_POST['mobileno'])) {//if no name has been supplied 
        $error[] = 'Please Enter a Mobile Number '; //add to array "error"
    } else {

        $mobile = $_POST['mobileno']; //else assign it a variable

        /* if( preg_match("^[0-9]{10}", $mobile) ){

          }

          else {

          $error[] = 'Your Mobile No is invalid  ';
          } */
    }
    if (empty($_POST['fname'])) {//if no name has been supplied 
        $error[] = 'Please Enter a First name '; //add to array "error"
    } else {
        $fname = $_POST['fname']; //else assign it a variable
    }

    if (empty($_POST['lname'])) {//if no name has been supplied 
        $error[] = 'Please Enter a Last name '; //add to array "error"
    } else {
        $lname = $_POST['lname']; //else assign it a variable
    }
    if (empty($_POST['email'])) {
        $error[] = 'Please Enter your Email ';
    } else {
        if (preg_match("/^([a-zA-Z0-9])+([a-zA-Z0-9\._-])*@([a-zA-Z0-9_-])+([a-zA-Z0-9\._-]+)+$/", $_POST['email'])) {
            //regular expression for email validation
            $email = $_POST['email'];
        } else {
            $error[] = 'Your EMail Address is invalid  ';
        }
    }


    if (empty($_POST['passwd1'])) {
        $error[] = 'Please Enter Your Password ';
    } else {
        $password = $_POST['passwd1'];
    }
    if (empty($_POST['passwd2'])) {
        $error[] = 'Please Verify Your Password ';
    } else {
        $password = $_POST['passwd2'];
    }
    if ($_POST["passwd1"] != $_POST["passwd2"]) {
        $error[] = 'Password does not match';
    }

    if (empty($error)) { //send to Database if there's no error ' //If everything's OK...
        // Make sure the mobile no is available:
        $query_verify_mobileno = "SELECT * FROM userdtls WHERE mobileno = '$mobile'";
        $result_verify_mobileno = mysqli_query($dbc, $query_verify_mobileno);
        if (!$result_verify_mobileno) {//if the Query Failed ,similar to if($result_verify_mobileno==false)
            echo ' Database Error Occured ';
        }

        if (mysqli_num_rows($result_verify_mobileno) == 0) { // IF no previous user is using this number .
            // Create a unique  activation code:
            //$activation = md5(uniqid(rand(), true));
            $query_insert_user = "INSERT INTO userdtls ( mobileno, serviceprovider, pass,  fname, lname, email, citystate, MUM, PUN, BNG, MYS ) VALUES ( '" . $mobile . "', '" . $serviceprovider . "', '" . $password . "', '" . $fname . "', '" . $lname . "', '" . $email . "', '" . $citystate . "','" . $mumbai . "', '" . $pune . "', '" . $banglore . "', '" . $mysore . "'  )";
        }
    }
}

现在我陷入了手机号码验证的困境。我尝试使用正则表达式。

我想要做的是添加一个 10 位数字的电话号码,并确保它只是数字,否则会出错,在将号码输入数据库时​​,我想为手机号码 0 添加前缀,因此它应该类似于 0and10digitnumber


尝试这样的事情:

$phoneNumber = $_POST['mobileno'];

if(!empty($phoneNumber)) // phone number is not empty
{
    if(preg_match('/^\d{10}$/',$phoneNumber)) // phone number is valid
    {
      $phoneNumber = '0' . $phoneNumber;

      // your other code here
    }
    else // phone number is not valid
    {
      echo 'Phone number invalid !';
    }
}
else // phone number is empty
{
  echo 'You must provid a phone number !';
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

验证 php 表单中的手机号码 的相关文章

  • WooCommerce 自定义字段 - 多选

    我在 WooCommerce 的结账页面添加额外的字段 我可以添加文本框等基本字段 但需要添加一个 多 选择框 用户可以在其中选择多个项目 我已经弄清楚如何通过代码添加选择框 如下所示 add action woocommerce afte
  • 将 mysql LONGTEXT 值转换为 VARCHAR 值?

    我有一个在用户 Facebook 墙上发布的功能 我发送到 facebook 的一件事是我从设置为 LONGTEXT 的 mysql 表中获取的一些文本 如果我将表设置为 LONGTEXT 则文本不会发送到 facebook 但如果我将表设
  • PHP FTP_PUT 上传到目录

    我正在自学PHP 一本名为 PHP完全参考 PHP5 2 的书 我目前正在使用第 11 章 FTP 上传 删除 makedir 等 但遇到了一些本书未涵盖的问题 根据我的教科书 这是上传到服务器的简单代码 connect ftp conne
  • 使用 PHP 创建、编辑和删除 crontab 作业?

    是否可以使用 PHP 创建 编辑和删除 crontab 作业 我知道如何列出 Apache 用户当前的 crontab 作业 output shell exec crontab l echo output 但是如何使用 PHP 添加 cro
  • 项目链接在 Wamp 服务器上不起作用

    我正在另一台计算机上安装 Wamp 服务器来运行中型数据库和 UI 我已成功阻止 IIS 并将服务器路由到 Localhost 8080 但是每当我尝试从 localhost 主页访问我的项目时 在 www 文件中 我被重定向到页面未找到错
  • 带摘要的 php curl 返回两个响应

    我发现了一个 奇怪 的 php CURL 行为 这让我抓狂 基本上我正在做的是使用curl 进行摘要身份验证的调用 这是我的代码的摘录 curl setopt this gt c CURLOPT HTTPAUTH CURLAUTH DIGE
  • 如何左对齐这些 Bootstrap 表单项?

    我是第一次使用 Bootstrap 在将此表单水平向左对齐时遇到很多麻烦 列表项是水平的 因为它们应该是水平的 但我希望控制标签 表单标签的 Bootstrap 类 全部位于向左浮动的相同位置 该表单包含在跨度为 7 的 div 中 因为我
  • phpenmod 显示其他 php 版本的路径

    我的 Ubuntu 机器上安装了 php 7 0 和 7 2 当我执行时php v 它告诉我我正在使用 php 7 2 在 Apache 上我还启用了 php 7 2 当我跑步时phpenmode zip 我明白了 WARNING Modu
  • 如何在 MacOS 上卸载 Mysql Shell

    我错误地安装了 MySql Shellhttps dev mysql com doc mysql shell 8 0 en https dev mysql com doc mysql shell 8 0 en 在我的 MacBook Pro
  • 如何使用 PATCH 更新简单的数据库字段?

    我是 php 和 API 的新手 我正在尝试学习这些方法 但我无法执行 PATCH 或 PUT 来更新我的简单 mysql 数据库 我使用了以下代码 if isset PATCH con mysqli connect localhost r
  • 如何捕获反序列化异常?

    PHP 是否可以在以下情况下捕获异常 unserialize 产生错误 一个简单的方法是 ret unserialize foo if ret null Error case 但这不是最现代的解决方案 最好的方法是像前面提到的那样有一个自定
  • 错误代码 13,SELECT INTO OUTFILE 问题

    我试图了解使用 INTO OUTFILE 命令时不断遇到问题的原因 我总是收到这个错误 ERROR 1 HY000 Can t create write to file var www p1 txt Errcode 13 SELECT pa
  • 消除 JPA 标准中子查询产生的冗余连接

    我只需要使用 JPA 标准执行以下 MySQL 查询 获取状态列表 来自state table 基于给定的国家名称 在country SELECT state id state name country id FROM state tabl
  • 1:1 关系中的双向外键约束

    我正在使用 MySQL 数据库 在我的关系数据模型中 我有两个相互 1 1 关联的实体 在我的架构中 通过将 FK 字段放入两个表之一中来建立 1 1 关系 该字段与另一个表的 PK 相关 两个表都有 PK 并且都是自动递增的 BIGINT
  • PHP 中正确的存储库模式设计?

    前言 我尝试在具有关系数据库的 MVC 架构中使用存储库模式 我最近开始学习 PHP 中的 TDD 并且我意识到我的数据库与应用程序的其余部分耦合得太紧密 我读过有关存储库并使用国际奥委会容器 http laravel com docs 4
  • 如何在 MySQL 中创建查询以根据日期和独特字段减去连续行?

    基于SQL根据日期和另一列减去两行 https stackoverflow com questions 12310221 sql subtract two rows based on date and another column我有一个好
  • Laravel 5 Eloquent 在多个级别上将关系附加到 JSON

    因此 在模型中包含关系非常容易 例如 class User extends Model protected with roles class Role extends Model protected with permissions 当有对
  • 如何告诉node.js mysql没有在默认端口上运行?

    我遇到了与此人类似的问题 连接 ECONNREFUSED 节点 js sql https stackoverflow com questions 8825342 connect econnrefused node js sql 我正在尝试将
  • 安装后步骤未成功完成 MySQL Mac OS Sierra

    pyEnv Anants MacBook Pro litibackend anantchandra brew postinstall mysql gt Postinstalling mysql gt usr local Cellar mys
  • SimpleXML 返回空数组

    我正在尝试使用 Google Maps API 和 PHP SimpleXML 获取城市的纬度和经度 我尝试这样做 xml simplexml load file http maps googleapis com maps api geoc

随机推荐

  • 来自 GitHub 的 DigitalOcean 上的简单 Node.js 应用程序部署

    我的 Github 上有一个 node js 应用程序 现在我使用 Heroku 来托管它 但我想尝试一下 DigitialOcean 每月 5 美元更实惠 我习惯使用 Heroku 我只需创建一个应用程序 gt 将其连接到我的 githu
  • 二次幂纹理的效率有多高?

    我正在使用 Ffmpeg 创建一个 OpenGL 视频播放器 并且我所有的视频都不是 2 的幂 因为它们是正常的视频分辨率 它在我的 nvidia 卡上以良好的 fps 运行 但我发现它无法在较旧的 ATI 卡上运行 因为它们不支持非二次幂
  • Jekyll 中的 Liquid for 循环可以包含页面变量吗?

    假设我有一堆 data我用来创建特定页面列表的文件 具有这些列表的所有页面都有一个自定义的 Front Matter 变量pageName 的价值pageName恰好匹配 data文件与列表 我不想将 html 代码块粘贴到每个页面中 而是
  • Ant zip 任务默认排除哪些文件?

    我正在运行 Ant zip 任务来压缩 Unix 系统上目录的全部内容
  • 和 做什么?

    我正在读一本关于 html 开发的书 我对这本书还很陌生 尽管这本书在一个月前 2011 年 11 月 才第一次出版 但作者是一位经验丰富的编码员 可能使用 因为形式中的动作是老派的吗 因为我试图了解示例代码的要点 但找不到解释form a
  • 单缓冲区;多个插座; Linux 下的单个系统调用

    Linux 是否有任何本机内核工具可以将提供的缓冲区发送 到一组套接字 一种向量 I O 除了套接字句柄而不是缓冲区 目标是减少在某些情况下涉及的 u k 转换的数量 例如 您需要向 n 个客户端广播一些状态更新 这需要迭代每个套接字并发送
  • 从字符串中提取最大数字

    我正在尝试使用 Excel 中的函数从字符串中提取所有数字 第二次 我想提取字符串中包含的最大值 我的字符串看起来像 ATCG 12 5 TTA 2 5 TGC 60 28 期望的输出 60 28 第一次 我尝试用我的函数提取所有数字 但它
  • 突出显示行中特定单元格的值与前一行的值不同的单元格

    我想应用一些条件格式 将一行的每个单元格与前一行的单元格进行比较 如果不同 则该行会突出显示 我使用的是 Excel 2007 这可能吗 如果是这样 有人可以向我提供将其应用于整个数据表的步骤吗 对的 这是可能的 这在以前版本的 Excel
  • 我无法理解这段使用递归产生排列的代码

    def permute2 seq if not seq Shuffle any sequence generator yield seq Empty sequence else for i in range len seq rest seq
  • PHP £ 符号前有奇怪的字符?

    由于某种原因我得到了 76756687 当我在表单上的文本字段中输入 时出现奇怪的字符 正如您所怀疑的 这是一个字符编码问题 页面是否设置为使用 UTF 8 字符集 这种编码确实不会出错 此外 您可能希望在退出时对英镑符号进行实体编码 po
  • Gerrit 中缺少依赖项

    我对 Gerrit 进行了四处更改 每处都取决于之前的更改 当然 第一个除外 我已经放弃了第二和第三并回顾了第一和第四 由于first 不依赖于任何东西 Gerrit 设法自动合并它 现在 第四个 取决于废弃的第三个 是一个真正的问题 格里
  • Bootstrap 下拉菜单出现在其他元素后面 - IE7

    我正在使用 Bootstrap 2 3 1http twitter github io bootstrap index html 所以我使用他们的 下拉菜单 类来创建一些简单的快速使用下拉菜单 但由于某种原因IE7它们出现在我网站上的文本和
  • 使用neo4j客户端在动态查询中返回多值

    按照我问的问题 使用 neo4j 客户端构建动态查询 我得到了关于如何仅使用字符串动态返回值的答案 当我尝试使用语法从失败的查询中返回多个值时 我尝试了以下查询 var resQuery2 WebApiConfig GraphClient
  • a href 链接不可点击

    我正在构建的网站遇到问题 我有一个菜单 其中包含 2 个列表项链接 称为 默认 和 测试 但在 Firefox 中我无法单击它们 在 IE 中 它们有效 我认为这是页面上项目的 z index 问题 但我无法解决它
  • 如何在Python中修改dbf文件

    假设我在根目录下的一些文件夹中有不同数量的dbf文件 d myfolder dbf 文件的内容如下所示 Field1 11110481123 12150480021 我想添加一个字段 例如 Field1 仅包含值的最后 4 位Field2
  • 通过 Gmail 在 .NET 中发送电子邮件

    我没有依赖我的主机发送电子邮件 而是考虑使用我的主机发送电子邮件 Gmail帐户 这些电子邮件是发送给我在节目中演奏的乐队的个性化电子邮件 有可能做到吗 请务必使用System Net Mail 不是已弃用的System Web Mail
  • 如何在猫鼬中填充其他集合的子文档?

    ASchema new mongoose Schema name String B BSchema var BSchema new Schema name String var CSchema new Schema name String
  • 多个错误代码配置web.xml

    我想将所有错误定向到我的 Errorsevlet 而不明确指定所有代码 有什么办法可以这样做吗
  • Scala App Trait 和 main 内部如何工作?

    嗨 我是 Scala 新手 据我所知 在scala中创建入口点有两种方法 一种是用对象定义main方法 另一种是扩展App特征 我想知道如何App特质有效 所以我检查了来源AppTrait 但是里面充满了令人困惑的代码 该代码表示 该应用程
  • 验证 php 表单中的手机号码

    我想验证 10 位数字的手机号码 并在输入数据库时 添加前缀 0