簡體   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