2013-08-30 57 views
2

我正在使用jquery進行名稱驗證,但是當我使用測試功能時,它無法運行。下面是代碼jquery測試功能沒有正常運行

<script type="text/javascript"> 
    $(document).ready(function() { 
     $('#msg').hide(); 

     $('input[name = "frequency_add_button"]').click(function() { 
      var error = validate_add_form(); 
      if (error !== '') { 
       $('#msg').show(); 
       $("p:first").html(error); 
       return false; 
      } 
     }); 

     function validate_add_form() { 
      var strname = $('#frequency_name_add').val(); 
      var illegal_chars = "/^.*?(?=[\^#%$\*:<>\?\{\|\}\@\!]).*$/"; 

      if ($.trim(strname) === '') { 
       return 'Please enter frequency name'; 
      } 
      if ($.trim(strname).length < 4 || $.trim(strname).length > 10) { 
       return 'Frequency name length must be between 4 and 10 characters'; 
      } 
      /*if(illegal_chars.test(strname)) 
      { 
       return 'Special characters are not allowed in frequency name'; 
      }*/ 
      return ''; 
     } 
    }); 
</script> 

爲了檢查空白和長度這工作得很好,但是當我取消註釋的部分沒有運行在所有。檢查jQuery中的非法字符是正確的語法?感謝幫助。

+0

你的標記是什麼樣的? – rgin

+0

@rgin: - 謝謝,但問題已解決。 –

回答

4

illegal_chars應該是RegExp,而不是字符串。試試:

var illegal_chars = /[\^#%$*:<>?{|}@!]/; 
+0

它工作。非常感謝您的快速幫助。 –