2012-09-03 82 views
0

我宣佈這個表達式在我的js文件的頂部 -JavaScript的正則表達式驗證工作不正常

var regexName = /^[ A-Za-z]+$/ 

Futher下來,我有一個驗證的功能 - 它觸發頁面上提交,但也對某些KEYUP功能文本框在頁面上。

$('#Name).keyup(function() { validateContactDetails(); }); 

這是我的函數:

function validateContactDetails() { 

    var errorText = ""; 
    var valid = true; 

    $("#ValidationHolder").text(errorText); 

    var Name= $('#Name'); 

    Name.removeClass("input-validation-error"); 

     if (isEmpty(Name.val()) || Name.val().length > 40 && !regexName.test(Name.val())) { 

      Name.addClass("input-validation-error"); 

      errorText += "Name cannot be empty or longer than 40 letters or contain numbers. "; 

      valid = false; 
     } 

$("#ValidationHolder").html(errorText); 

    return valid; 
} 

我那麼包括這個js文件在我CSHTML頁。然而,正則表達式驗證不會在一分鐘內工作 - 它讓我在頁面的名稱文本框中輸入數字。任何人看到我錯過的簡單東西?

+1

你錯過了'$('#Name ...'調用的結束引號 –

+0

a只是一個複製粘貼錯誤 - 檢查了代碼文件,他們在那裏 –

+1

你可以使用'/^ \ w + $/i',而不是你的'/^[A-Za-z] + $ /' –

回答

0

因此,我正在檢查& &條件,而不是od ||條件這是這裏的問題,也是錯過了;在我的正則表達式中