【问题标题】:Regex to validate a username in react native正则表达式在反应原生中验证用户名
【发布时间】:2021-01-30 02:27:54
【问题描述】:

我不太了解正则表达式,当涉及到用户名时它变得有点棘手,所以我请求我的程序员同事帮助我根据某些条件验证用户名。

  1. 用户名只能包含字母、数字、句点和下划线。
  2. 用户名可以以下划线开头和结尾,但不能以句点开头。 (出于安全原因)
  3. 用户名长度应介于 4 到 20 个字符之间。
  4. 不允许有空格

有效和无效用户名示例:

乔希valid

.josh_invalid

_乔希。 invalid

_josh_123.brad valid

乔什·布拉德invalid

我已经搜索过,但我找到的答案并没有太大帮助。这是我现在的正则表达式:

RegExp('^(?=[A-Za-z0-9._]{4,20}$)[^_.].*[^_.]');

提前致谢

【问题讨论】:

    标签: javascript regex react-native validation


    【解决方案1】:

    这可以在没有任何前瞻的情况下实现:

    /^\w[\w.]{2,18}\w$/
    

    如果您想使用RegExp,请使用:

    var re = new RegExp("^\\w[\\w.]{2,18}\\w$");
    

    RegEx Demo

    模式详情:

    • \w: 是[a-zA-Z0-9_] 的快捷方式
    • ^:开始
    • \w:匹配一个单词字符
    • [\w.]{2,18}:匹配 2 到 18 个单词或点字符,从而使总长度在 4 到 20 之间
    • \w:匹配一个单词字符
    • $:结束

    【讨论】:

    • 谢谢伙计,这就像一个魅力。不幸的是,我需要更多的代表来支持你的答案。无论如何,谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-08-14
    • 1970-01-01
    • 2017-10-04
    • 1970-01-01
    • 2017-01-22
    • 1970-01-01
    相关资源
    最近更新 更多