這是我驗證電話號碼的代碼;問題驗證電話號碼使用JavaScript在PHP註冊表格
if(!(preg_match([0-9]{10})|(\([0-9]{3}\)\s+[0-9]{3}\-[0-9]{4}, $_POST['phone'])))
die(msg(0,"You haven't provided a valid phone number"));
輸入所有輸入詳細信息後,顯示如同加載。
任何人都可以說我的代碼中有什麼錯誤。
在此先感謝。
這是我驗證電話號碼的代碼;問題驗證電話號碼使用JavaScript在PHP註冊表格
if(!(preg_match([0-9]{10})|(\([0-9]{3}\)\s+[0-9]{3}\-[0-9]{4}, $_POST['phone'])))
die(msg(0,"You haven't provided a valid phone number"));
輸入所有輸入詳細信息後,顯示如同加載。
任何人都可以說我的代碼中有什麼錯誤。
在此先感謝。
你的代碼更改爲:
if(!(preg_match("/([0-9]{10})|([0-9]{3}\\s+[0-9]{3}\\s+[0-9]{4})/", $_POST['phone'])))
die(msg(0,"You haven't provided a valid phone number"));
主要出現了兩個問題,你的正則表達式。
第一:你忘了把你的正則表達式放在引號內。第二:在開盤報價之後,以及在收盤價之前,您應該有這樣的建立pregmatch的例子:preg_match(「/ regex /」,$ string);
最後,正則表達式本身包含一些錯誤。
我推薦使用這個工具,如果你是新來的正則表達式:
第二部分:
您有您的形式顯示加載問題的原因是因爲PHP-它發佈數據的腳本正在拋出一個錯誤。這個錯誤需要由ajax腳本獲取並返回給瀏覽器。簡單地使用die('a message');將會終止該腳本並將「消息」返回給查詢。您需要添加一個函數來處理任何錯誤響應。
在瀏覽器中使用的工具瀏覽器開發者工具,如螢火蟲或任何BUIL來看看你的Ajax查詢的輸出:
一個好方法,做一個Ajax調用會像:
var formData = $('#yourform').serialize();
$.ajax({
url : "/link_to_script.php",
type : "POST",
data: formData,
dataType: "json",
success : function(d){
if(d.success) {
// An array key called success is located with the value of true
alert('Successfully submitted form');
}
if(d.error){
// An array key called error is located with the value of true
alert(d.errormsg);
// Alerts the visitor with the content of the return array key "errormsg"
}
},
error: function(){
alert('Something went wrong');
// This error function will be returned if the data returned by script is not json, or if the script cannot be reached/returns any kind of 404/500 error or such.
}
});
這將處理從您的PHP腳本json輸出和interperate其數據。如果調用成功,它應該包含PHP腳本中的一些數據,例如成功消息或錯誤消息。這需要返回例如像這樣:
<?php
echo json_encode(array('success'=> true, 'message' => 'Uploaded file'));
// OR, incase error like the preg_match:
echo json_encode(array('error' => true, 'errormsg' => 'Phone not validated'));
這將JSON編碼與要與你的AJAX腳本來處理數據的數組。
它究竟是什麼意思。請使用開發人員工具,在提交表單時查看其中的CONSOL,並回復結果的內容。 – 2014-10-08 07:05:14
請在您的開發人員工具中看到一個名爲「console」的按鈕。點擊那個。然後提交你的表格。在那裏您應該看到帖子的結果,就像我在我的回答中添加的圖片一樣 – 2014-10-08 07:14:05
從您的表單頁面包含html和javascript請求 – 2014-10-08 07:37:48
您可以使用下面的代碼來驗證瀏覽器中的手機號碼。
<input name="mobilenum" pattern="[789][0-9]{9}" placeholder="Contact Number" required="" type="text">
不支持所有瀏覽器。 Safari不認識它,也沒有早期版本的IE。 – 2014-10-08 06:52:04
你得到的錯誤是什麼? – Tushar 2014-10-08 06:41:47
如果顯示一個加載圖標,我敢打賭你正在使用ajax提交表單。在瀏覽器中打開開發者工具,並查看您發佈的腳本正在返回。它應該產生一個錯誤 – 2014-10-08 06:45:42
是的,我使用ajax ..好的。我如何知道開發人員工具。我正在使用firefox – user4119973 2014-10-08 06:47:19