0
我正則表達式的電子郵件上射擊似乎並不奏效,它不火,正則表達式不是用戶的形式
窗體上的驗證通過,即使用戶只輸入一個。
這裏是我的代碼:
var a = ["txtTitle", "txtSurname", "txtEmail", "txtPostCode"];
$.each(a, function (index, value) {
if (sMsg == "") {
if ($("#" + value).val().trim() == "") {
var sText = $('td:first', $($("#" + value)).parents('tr')).text();
sMsg = "Please enter a " + sText;
$("#" + value).focus();
}
}
});
if (sMsg == "") {
if ($("#txtPhone").val().trim() == "" && $("#txtMobile").val().trim() == "") {
sMsg = "Please enter a phone or mobile number";
$("#txtPhone").focus();
}
}
if (sMsg == "") {
var regex = /^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/;
if (!regex.test($("#txtEmail").val())) {
sMsg = "Please enter a valid email address";
}
}
break;
最後一個if - 你在'.'之前忘了反斜槓嗎? '[a-zA-Z0-9 _。+ - ]' – maja
「sMsg」從哪裏來?它是否包含一個字符串? (你應該總是使用'==='而不是'==') – maja
@maja:在這裏不需要反斜槓。在一個字符類中,'.'只匹配一個點。 –