Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Razer视图中的Javascript正则表达式电子邮件验证_Javascript_Regex_Asp.net Mvc 3_Email Validation - Fatal编程技术网

Razer视图中的Javascript正则表达式电子邮件验证

Razer视图中的Javascript正则表达式电子邮件验证,javascript,regex,asp.net-mvc-3,email-validation,Javascript,Regex,Asp.net Mvc 3,Email Validation,我正在尝试验证使用HTML助手类创建的电子邮件输入。每次都正确调用“validateForm”方法,但if语句始终失败。我的两个最好的理论是,我发现我的正则表达式关闭了,因为我必须避开“@”字符,或者我没有正确地比较它 永远谢谢你 Javascript: function validateForm() { var isValid = true; var errorMessage = ""; var emailRegExp = /^(([^<>()[\]\\.,

我正在尝试验证使用HTML助手类创建的电子邮件输入。每次都正确调用“validateForm”方法,但if语句始终失败。我的两个最好的理论是,我发现我的正则表达式关闭了,因为我必须避开“@”字符,或者我没有正确地比较它

永远谢谢你

Javascript:

function validateForm() {
    var isValid = true;
    var errorMessage = "";
    var emailRegExp = /^(([^<>()[\]\\.,;:\s@@\"]+(\.[^<>()[\]\\.,;:\s@@\"]+)*)|(\".+\"))@@((\[[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,}))$/;
    var x = document.forms["Update"]["complaint.Responsible"].value;

    if (x === null || x === "" || !emailRegExp.test(x)) {
        errorMessage += "A valid 'Responsible' was not entered<br/>";
        document.getElementById("Responsible").style.borderColor = '#F00';
        alert("No! >:(");
        isValid = false;
    }

    return isValid;
}
表格HTML:

<form name="Update" onsubmit="return validateForm()" method="post" id="formBody"  enctype="multipart/form-data">
     <input class="txtLong" id="complaint_Responsible" name="complaint.Responsible" type="text" value="sdbsv rszaer gse er">

更新:

这就是我不能使用单个“@”符号的原因

(一行-如代码中所示)


@
告诉正则表达式引擎,您需要两个
@
符号。将其替换为以下模式:

var emailRegExp = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[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,}))$/;
var-emailRegExp=/^([^()[\]\\,;:\s@\“]+(\.[^()[\]\,;:\s@\“]+)*)(\“+”)(\[[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]}.[1,3}.[0-9]+[1,3}.];

我不能使用一个“@”符号,因为Razer view引擎或我不太确定的MVC将任何“@”符号视为C#服务器端代码的开头。请看我在更新中添加的图像。哦,很好。在这种情况下,您可以将JavaScript放在一个单独的JS文件中,然后使用
SCRIPT
标记引用它吗?这是一个聪明的主意!谢谢我想知道是否有办法将C#'@'字符转换为javascript'@'字符?也许是JSON之类的。
var emailRegExp = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[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,}))$/;