[英]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.