Javascript 为用户名验证创建regexp

Javascript 为用户名验证创建regexp,javascript,regex,Javascript,Regex,我需要一些帮助来创建regexp。只是我不太明白如何创建regexp。如何使用如下规则创建用户名验证 只允许使用大写、小写、下划线(_)和点(.) 以下划线(\)开头 我已经尝试过mozilla开发者网站上的一些regexp,但它似乎不正确 var usernameRegex=newregexp(/_+[A-Za-z]/); var usernameRegexFound=usernameRegex.test(username.value); 如果(!usernameRegexFound){ ms

我需要一些帮助来创建regexp。只是我不太明白如何创建regexp。如何使用如下规则创建用户名验证

  • 只允许使用大写、小写、下划线(_)和点(.)

  • 以下划线(\)开头

  • 我已经尝试过mozilla开发者网站上的一些regexp,但它似乎不正确

    var usernameRegex=newregexp(/_+[A-Za-z]/);
    var usernameRegexFound=usernameRegex.test(username.value);
    如果(!usernameRegexFound){
    msg=“无效用户名”;
    }
    
    我希望有这样的用户名

    _用户名=true

    _username1=false

    .username=false

    用户名=false

    还有什么网站可以让我了解如何创建regexp,因为我还有很多事情要做

    函数validuser(用户名){
    var msg=“有效”;
    var usernameRegex=新的RegExp(/u+[A-Za-z]/);
    var usernameRegexFound=usernameRegex.test(用户名);
    如果(!usernameRegexFound){
    msg=“无效用户名”;
    }
    返回味精;
    }
    日志(validuser(“_username”,“Valid?”);
    日志(validuser(“\u username1”,“无效?”);
    日志(validuser(“.username”,“Invalid?”);
    
    日志(validuser(“用户名”,“无效?”)创建正则表达式时,您可以使用

    也就是说,这是您的正则表达式:

    功能测试(用户名){
    const regex=new RegExp(“^{1}[A-Za-z\.]*$”,“i”);
    //考虑@thomas points的备选版本
    //const regex=new RegExp('^.[A-Za-z.'.'+$','i');
    返回regex.test(用户名);
    }
    console.log(test('test'));
    控制台日志(测试(“U测试”);
    控制台日志(测试(“'u te.s.t'));
    控制台日志(测试(“U测试”);
    console.log(test('test_'));
    console.log(test(“^zdq^dz”);
    控制台日志(测试(“测试/测试”);
    
    控制台日志(测试(“U 9901A”)
    ^.[a-zA-Z.]*$
    应该足够了。从技术上讲,我给你编了一段代码。发布一篇文章总是有帮助的,这就是工作!谢谢,顺便说一句,你能解释一下\b的用途吗?我只是不太明白你的意思flags@Virtualanang
    A-Ba-b
    只匹配字母:
    ABab
    ,谷歌“js regex”和熟悉符号根据示例,下划线似乎不是可选的,直到在多个点上出现错误:
    1)
    {1}永远不需要,
    2)
    \。(反斜杠)是不需要的
    3)
    您的小组不允许在问题
    4)中指定的名称部分使用下划线。
    *量词在下划线选项后生成整个名称我已添加了符合您要求的答案。我的回答被接受了,我觉得还行。谢谢你的意见。