猿问

使用 JQuery 和 PHP 进行电话字段验证

我有一个带有简单 jQuery 验证的联系表单,并使用 Php 发送表单内容。我正在尝试包括电话字段验证。JavaScript 在验证电话字段和自动格式化/更正/完成电话字段时工作正常。但是 PHP 脚本不起作用。如果我删除 phoneNumber 字段,它工作正常。


(function($) {


    "use strict";

    

     /* Alert Boxes

    * ------------------------------------------------------ */

    var clAlertBoxes = function() {


        $('.alert-box').on('click', '.alert-box__close', function() {

            $(this).parent().fadeOut(500);

        }); 


    };



   /* Contact Form

    * ------------------------------------------------------ */

    var clContactForm = function() {

        

        /* local validation */

        $('#contactForm').validate({

        

            /* submit via ajax */

            submitHandler: function(form) {

    

                var sLoader = $('.submit-loader');

    

                $.ajax({

    

                    type: "POST",

                    url: "inc/sendEmail.php",

                    data: $(form).serialize(),

                    beforeSend: function() { 

    

                        sLoader.slideDown("slow");

    

                    },

                    success: function(msg) {

    

                        // Message was sent

                        if (msg == 'OK') {

                            sLoader.slideUp("slow"); 

                            $('.message-warning').fadeOut();

                            $('#contactForm').fadeOut();

                            $('.message-success').fadeIn();

                        }

                        // There was an error

                        else {

                            sLoader.slideUp("slow"); 

                            $('.message-warning').html(msg);

                            $('.message-warning').slideDown("slow");

                        }

    

                    },



侃侃无极
浏览 115回答 3
3回答

jeck猫

问题解决了..我将输入掩码更改为这种格式(“999-999-9999”),然后还对 Php 进行了更改以匹配 js 输入掩码,它类似于:if(!preg_match('/^[0-9]{3}-[0-9]{3}-[0-9]{4}$/', $phone)) {$error['phone'] = "请输入有效的电话号码。"; }

犯罪嫌疑人X

您可以preg_match()验证 10 位数的手机号码:preg_match('/^[0-9]{10}+$/', $mobile)

FFIVE

试试这个方法:function validating($phone){&nbsp; &nbsp; $valid_number = filter_var($phone, FILTER_SANITIZE_NUMBER_INT);&nbsp; &nbsp; $valid_number = str_replace("-", "", $valid_number);&nbsp; &nbsp; if (strlen($valid_number) < 10 || strlen($valid_number) > 14) {&nbsp; &nbsp; echo "Invalid Number <br>";&nbsp; &nbsp; } else {&nbsp; &nbsp; echo "Valid Number <br>";&nbsp; &nbsp; }}$phone = "(999) 999-9999";validating($phone);
随时随地看视频慕课网APP
我要回答