2012-10-31 71 views
0
$.validator.addMethod('username', function (value) { 
    return [A-Za-z0-9\-\_]+.test(value); 
}, 'Username can only contain letters, numbers, underscores and dashes.'); 

我不擅長正則表達式或jQuery/JavaScript這使得我幾乎不可能。jQuery驗證方法(RegEx)

我只是想添加一個方法來驗證用戶名,以確保它只有數字,字母,下劃線和破折號(沒有空格,句點等),但我似乎無法做到正確。

任何幫助,將不勝感激。

+0

javascript正則表達式文字必須被'/.../'包圍。 – jbabey

回答

2

這裏有兩個問題。其一,正則表達式需要分隔符。二,正則表達式不檢查整個字符串是否由這些字母組成:

var regex = /^[\w-]+$/; 
return regex.test(value); 

我也縮短正則表達式位(字符類是一樣的)。

+0

非常感謝! – Lanezeri

0

你想你的代碼更改爲:

return (value.match(/^[A-Za-z0-9-_]+$/));