2013-04-04 40 views
1

匹配字母數字我想一個字用5至15個字母數字字符匹配,而且我也可以包括_和 - 字符。我使用jQuery獲得的輸入值,我編程的CoffeeScript:不能在JavaScript

username = $('#register input[name="user"]').val() 
if (! username.match('/^([\w_\-]{5,15})$/')) 
    alert(username) 

其中在JS編譯是這樣的:

username = $('#register input[name="user"]').val(); 
if (!username.match('/^([\w_\-]{5,15})$/')) { 
    return alert(username); 
} 

我得到警報包含「dsdsfsdsf」字符串它應該返回true,實際上每個字符串在嘗試匹配時都返回false。我究竟做錯了什麼?

回答

3

變化

if (! username.match('/^([\w_\-]{5,15})$/')) 

if (! username.match(/^([\w_\-]{5,15})$/)) 

正則表達式的文字必須不能引號之間。

當你想簡單的測試你的字符串,你最好使用更快test,你並不需要一個捕獲組:

if (!/^[\w_\-]{5,15}$/.test(username)) 
+0

它完美。謝謝版主! – Razican 2013-04-04 11:23:47