試試下面的代碼
$(document).ready(function() {
$("input[name='emailAddress']").blur(function() {
var emailAddress = $("input[name='emailAddress']").val().trim();
if (isValidEmailAddres(emailAddress)) {
var hasError = false;
var emailaddressVal = emailAddress.split('@').slice(1)[0].trim();
var invalidEmailAddresses = ['aol.com', 'yahoo.com', 'yahoo.fr', 'juno.com', 'hotmail.com', 'gmail.com'];
if ($.inArray(emailaddressVal, invalidEmailAddresses) >=0) {
alert('The email provided is not from a business related domain');
}
} else alert("Invalid EmailID");
});
function isValidEmailAddres(emailID) {
var regexExp = new RegExp(/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i);
return regexExp.test(emailID);
}
});
看到這個fiddle 改變了我做
我添加一個電子郵件驗證功能。只有當它是一個有效的電子郵件地址,你纔會進行主機名檢查。
正確的格式$.inArray
是$.inArray(stringvalue, array)
。所以它必須是$.inArray(emailaddressVal,invalidEmailAddresses)
emailaddressVal將包含完整的電子郵件地址。首先,您需要從完整的電子郵件地址中提取主機名。這是在 var emailaddressVal = emailAddress.split('@').slice(1)[0].trim();
因此,如果您的電子郵件地址是[email protected]
,上述行將返回gmail.com
。
$ inArray的返回類型是數組列表(emailaddressVal,在你的情況下)在arraylist(invalidEmailAddresses)中出現的位置。它將返回一個大於或等於0的值。按照您的要求,當您希望電子郵件ID中的主機出現在主機名數組中時,您必須顯示該消息。你需要做 if($.inArray(emailaddressVal, invalidEmailAddresses) >=0)
'jQuery.inArray(值,陣列[,的fromIndex])'https://api.jquery.com/jQuery.inArray/ – 2015-04-01 14:35:54
我明白了,但如何可以驗證任何值的用戶類型。我不想硬編碼值 – Jimmy 2015-04-01 15:01:19