Это сценарий, который я использую для проверки формы:Как проверить поле электронной почты в javascript?
<script language="JavaScript">
function formCheck(formobj){
var fieldRequired = Array("Name", "Email", "Phone", "comments");
var fieldDescription = Array("Name", "Email", "Phone", "Comments");
var alertMsg = "Please complete the following fields:\n";
var l_Msg = alertMsg.length;
for (var i = 0; i < fieldRequired.length; i++){
var obj = formobj.elements[fieldRequired[i]];
if (obj){
switch(obj.type){
case "select-one":
if (obj.selectedIndex == -1 || obj.options[obj.selectedIndex].text == ""){
alertMsg += " - " + fieldDescription[i] + "\n";
}
break;
case "select-multiple":
if (obj.selectedIndex == -1){
alertMsg += " - " + fieldDescription[i] + "\n";
}
break;
case "text":
case "textarea":
if (obj.value == "" || obj.value == null){
alertMsg += " - " + fieldDescription[i] + "\n";
}
break;
default:
}
if (obj.type == undefined){
var blnchecked = false;
for (var j = 0; j < obj.length; j++){
if (obj[j].checked){
blnchecked = true;
}
}
if (!blnchecked){
alertMsg += " - " + fieldDescription[i] + "\n";
}
}
}
}
if (alertMsg.length == l_Msg){
return true;
}else{
alert(alertMsg);
return false;
}
}
// -->
</script>
<form onsubmit="return formCheck(this);" action="/capture.weblead" method="post">
First Name: <input type=text name="FirstName" size="25"><br>
Last Name: <input type=text name="LastName" size="25"><br>
<input type=submit value="Submit Form">
</form>
Он отлично работает за исключением того, не проверяет на реальный адрес электронной почты. Как изменить эту форму так, чтобы она выполнялась?
Сценарий не может содержать никаких символов доллара, иначе Tomcat (моя серверная среда) выйдет из строя.
Вы должны исправить свой сервер. – SLaks
дубликат: http://stackoverflow.com/questions/46155/validate-email-address-in-javascript http://stackoverflow.com/questions/2783672/email-validation-javascript http://stackoverflow.com/questions/940577/javascript-regular-expression-email-validation –
Tomcat может определенно обслуживать скрипты, содержащие символы «$». Также трудно проверить * синтаксис * для адреса электронной почты и * невозможно * определить, действительно ли это. – Pointy