繁体   English   中英

解析器识别正则表达式时出错

[英]Error with parser recognising regex

我试图在我的应用程序中添加一些JavaScript验证,以检查电子邮件地址的格式是否正确。

这是我用来执行验证检查的代码:

var bValid = true;
allFields.removeClass( "ui-state-error" );
bValid = bValid && checkLength( email, "email", 6, 80 );
bValid = bValid && checkLength( password, "password", 5, 16 );
bValid = bValid && checkRegexp( name, /^[a-z]([0-9a-z_])+$/i, "Username may consist of a-z, 0-9, underscores, begin with a letter." );
// From jquery.validate.js (by joern), contributed by Scott Gonzalez: http://projects.scottsplayground.com/email_address_validation/
var reg = /^(([^<>()[]\.,;: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,}))$/;
bValid = bValid && checkRegexp(email, reg, "eg. smith@hotmail.com");
bValid = bValid && checkRegexp( password, /^([0-9a-zA-Z])+$/, "Password field only allow : a-z 0-9" );
if ( bValid ) {
    //DO ajax call
    $( this ).dialog( "close" );
}

我收到此错误:

在此处输入图片说明

我已经尝试了许多正则表达式表达式的示例,但都被解析器捕获。

在字符类中转义]

var reg = /^(([^<>()[\]\.,;: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,}))$/;
//            here __^             here __^

不确定,但是javascript可能也想转义[

var reg = /^(([^<>()\[\]\.,;: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,}))$/;
//           here __^              here __^

根据Chirag64编写的内容,看起来服务器可能错误地运行了JavaScript代码? 第104行可能只是由于语言错误而导致编译器/解释器出现错误的第一行? 您的服务器期望使用哪种编程语言?

您应该尝试将问题代码复制并粘贴到单独的HTML文件中,然后将其直接加载到浏览器(无服务器)中,看看它是否将在该文件中运行。 我怀疑会。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM