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

我不擅长正则表达式或 jQuery/JavaScript,这对我来说几乎是不可能的。

我只是想添加一种方法来验证用户名,以确保它只有数字、字母、下划线和破折号(没有空格、句点等),但我似乎无法正确处理。

任何帮助,将不胜感激。

4

2 回答 2

2

这里有两个问题。一,正则表达式需要分隔符。二,正则表达式不检查整个字符串是否由这些字母组成:

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

我还稍微缩短了正则表达式(字符类是相同的)。

于 2012-10-31T19:17:46.357 回答
0

您想将代码更改为:

return (value.match(/^[A-Za-z0-9-_]+$/));
于 2012-10-31T19:17:33.070 回答