0
我試圖驗證表單除其他事項外,以檢查用戶又增加了一個有效的愛爾蘭移動應該有083,085,086,087,089開始,在長度爲十位愛爾蘭的JavaScript正則表達式移動
我看着Validate an Irish mobile phone number但我不能得到它的工作
我檢查功能
function CheckPhone(pNumb) {
var paswd=/08[3679]-\d{0,10}$/;
return paswd.test(pNumb);}
哪裏嘗試驗證
if(!CheckPhone(d))
{
alert("You have not entered a valid Irish mobile number");
document.getElementById('phoneNumber').focus();
return false;
}
但即使有一個有效的號碼,我被告知該條目無效。我確定我做錯了什麼,但我是新來的正則表達式,而不是程序員,所以不知道是什麼。
作爲對Jayce444的迴應,我編輯了我的問題以包含完整的腳本,因爲當我添加checkphone函數時,它會導致電子郵件和密碼功能被忽略,並且表單被提交時存在這些字段的無效值,例如輸入密碼
<script>
function validateEmail(email) {
var re = /^(([^<>()[\]\\.,;:\[email protected]\"]+(\.[^<>()[\]\\.,;:\[email protected]\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
return re.test(email);
}
function CheckPassword(inputtxt) {
var paswd=/^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,20}$/;
return paswd.test(inputtxt);
}
function CheckPhone(pNumb) {
var paswd=08[3679]-\d{7}$;
return paswd.test(pNumb);
}
function validateForm() {
var a=document.forms["subForm"]["firstName"].value;
if (a===null || a==="")
{
alert("All fields in the form are required You must enter your first name");
document.getElementById('firstName').focus();
return false;
}
var b=document.forms["subForm"]["lastName"].value;
if (b===null || b==="")
{
alert("All fields in the form are required You must enter your last name");
document.getElementById('lastName').focus();
return false;
}
var c=document.forms["subForm"]["email"].value;
if (c===null || c==="")
{
alert("All fields in the form are required You must enter your email address");
document.getElementById('email').focus();
return false;
}
if(validateEmail(c)===false)
{
alert("You must enter a valid email address");
document.getElementById('email').focus();
return false;
}
var d=document.forms["subForm"]["phoneNumber"].value;
if (d===null || d==="")
{
alert("All fields in the form are required You must enter your phone number");
document.getElementById('phoneNumber').focus();
return false;
}
if(CheckPhone(d)===false)
{
alert("You have not entered a valid Irish mobile number");
document.getElementById('phoneNumber').focus();
return false;
}
var e=document.forms["subForm"]["password"].value;
if (e===null || e==="")
{
alert("All fields in the form are required You must enter a password");
document.getElementById('password').focus();
return false;
}
if(CheckPassword(e)===false)
{
alert("You have not entered a valid password");
document.getElementById('password').focus();
return false;
}
}
</script>
謝謝,但這打破了我的驗證,它提出了檢查電子郵件和密碼功能失敗。失敗的腳本的完整代碼。 我會嘗試編輯我的問題,因爲我不能在評論中發佈代碼 – Graham
那麼你是否說現在的電話號碼驗證工作,但電子郵件和密碼驗證不是? Cos是一個單獨的問題 – Jayce444
與正則表達式和檢查代碼就位,驗證失敗的密碼和電子郵件。 我還沒有測試只是正則表達式和手機檢查代碼,但稍後會這樣做,並會確認 – Graham