javascript Regex用于类似电报的用户名

dfuffjeb  于 2023-08-02  发布在  Java
关注(0)|答案(1)|浏览(79)

我建立消息应用程序,我需要正则表达式来验证用户名,同时签署了一个新的用户。用户名长度必须至少为5个字符(该长度中至少有3个字符必须是字母),不能有空格,并且只能由a-z、0-9和下划线组成。

const valid = new RegExp(...);

const username_a = "john_doe";
const username_b = "johndoe";
const username_c = "John Doe";
const username_d = "john.doe";
const username_e = "john";

valid.test(username_a) = true;
valid.test(username_b) = true;
valid.test(username_c) = false;
valid.test(username_d) = false;
valid.test(username_e) = false;

字符串
我不熟悉正则表达式的建设,所以请帮助!

vc9ivgsu

vc9ivgsu1#

正如Pushpesh的评论所建议的那样:

const valid = /^(?=(?:[0-9_]*[a-z]){3})[a-z0-9_]{5,}$/;

const names = 'john_doe,johndoe,j2e2p2,John Doe,john.doe,johh,joh2_23,jo2e_234,jo23_22'.split(',');

for(const name of names){
  console.log(name, valid.test(name));
}

字符串

相关问题