javascript - 如何为用户名约束创建 jQuery Validator 方法?

标签 javascript jquery regex jquery-validate

所以我目前有这种强制密码的方法:

$.validator.addMethod('goodPassword', function(value, element){
    return this.optional(element) ||
        value.length >= 6 &&
        /\d/.test(value) &&
        /[a-z]/i.test(value);
}, 'Your password sucks boy, you need at least 6 char and both number and char in that motherf.')

我想为我的用户名创建类似的内容,以将其限制为字母、数字、破折号、下划线和句点。我似乎不知道该怎么做。我读了一些关于正则表达式的内容,但仍然无法弄清楚我应该如何处理我的代码。

这是我目前拥有的:

$.validator.addMethod('goodUsername', function(value, element)){
    return this.optional(element) ||
        value.length >= 4 // && or ||, not really sure what to put here
        //something to check if entered data contains anything other than letters, numbers, dashes, underscores and periods
}, 'What kind of fkin username is that? You can only use letters, numbers, dashes, underscores and periods.')

有人可以给我指路吗?

最佳答案

这是使用 Javascript 正则表达式功能的代码

$.validator.addMethod('goodUsername', function(value, element)){
    return this.optional(element) || value.match(/^[\w.-]{4,}$/m)
}, 'What kind of fkin username is that? You can only use letters, numbers, dashes, underscores and periods.')

正如 @rock321987 所正确指出的,它仍然允许 ...-... 和其他奇怪的用户名。

关于javascript - 如何为用户名约束创建 jQuery Validator 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38149227/

相关文章:

jquery - Kenburner slider 在 IE 中不工作

regex - Powershell 替换精确的字符串

java - 如何使用 javascript 代码从数据库中检索值?

javascript - 使用 Object.create 进行继承?

javascript - 在文本框中添加日历

java - 如何计算起始值和结束值之间存在的元素?

javascript - 云函数: Delete file from storage

javascript - 将 div 粘贴到父元素的顶部

regex - Bash 正则表达式 : Matching numbers 0-1000

c# - 如何构建正则表达式(C#)来识别八个 1's & 0' 的字符串