我在JavaScript表單驗證中遇到了一些問題。可選字段驗證
我在我的HTML代碼中有一些可選字段。提交時,他們不需要填寫,但如果用戶提供一些輸入,他們必須經過驗證。例如,我有一個可選的電話號碼字段。如果用戶提供輸入,那麼我需要檢查它們是否都是數字。
我該怎麼做?
我在JavaScript表單驗證中遇到了一些問題。可選字段驗證
我在我的HTML代碼中有一些可選字段。提交時,他們不需要填寫,但如果用戶提供一些輸入,他們必須經過驗證。例如,我有一個可選的電話號碼字段。如果用戶提供輸入,那麼我需要檢查它們是否都是數字。
我該怎麼做?
你只需要調用驗證碼如果字段值滿足一些先決條件,在這種情況下:
var fieldValue = document.getElementById("someInput").value;
if(fieldValue.length > 0) {
if(someValidationFunction(fieldValue)) alert("Field is invalid");
}
你:如果字段的值(通過測試的字符串值的length
財產選中)可以將您的自定義方法作爲回調提交給您的表單中的提交操作
<form onSubmit="return customValidation()>
在該方法中進行驗證。
function customValidation()
{
//code to test fields
fieldToValidate = document.getElementById("field-id")
//validate the field
}
如果您需要更安全的話,您不能使用其他答案;你不應該用JavaScript來做這件事,因爲如果用戶由於某種原因在瀏覽器中關閉了瀏覽器(或者他們故意關閉它),那麼表單將不會被驗證。相反,你需要在服務器上使用PHP來完成。在表單發送給您的服務器上需要獲取與表格($_GET['phonenumber'];
)一起發送的查詢字符串,並查看它是否是一個數字(int intval (mixed $phonenumber)
)。這應該返回NaN,如果它不是數字。
什麼阻止你使用HTML5自己的驗證?
<input type="tel" pattern="[0-9]+" />
沒有JavaScript需要,可以在所有現代瀏覽器上運行。
有關安全性的說明:請不要依賴客戶端驗證來解決安全問題,因爲它們可以被平凡地禁用。所有的驗證都應該在服務器端完成也。
http://html5pattern.com/ – 2014-08-31 10:18:58