我有一个带有简单 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"); } },
3 回答
jeck猫
TA贡献1909条经验 获得超7个赞
问题解决了..我将输入掩码更改为这种格式(“999-999-9999”),然后还对 Php 进行了更改以匹配 js 输入掩码,它类似于:
if(!preg_match('/^[0-9]{3}-[0-9]{3}-[0-9]{4}$/', $phone)) {
$error['phone'] = "请输入有效的电话号码。"; }
FFIVE
TA贡献1797条经验 获得超6个赞
试试这个方法:
function validating($phone){
$valid_number = filter_var($phone, FILTER_SANITIZE_NUMBER_INT);
$valid_number = str_replace("-", "", $valid_number);
if (strlen($valid_number) < 10 || strlen($valid_number) > 14) {
echo "Invalid Number <br>";
} else {
echo "Valid Number <br>";
}
}
$phone = "(999) 999-9999";
validating($phone);
- 3 回答
- 0 关注
- 114 浏览
添加回答
举报
0/150
提交
取消