代码之家  ›  专栏  ›  技术社区  ›  Dave Sag

如何用一个正则表达式验证facebook用户名?

  •  -1
  • Dave Sag  · 技术社区  · 6 年前

    facebook用户名的规则如下

    用户名只能包含字母数字字符(A-Z,0-9)或句点(.),且长度必须至少为5个字符。

    裁判: https://www.facebook.com/help/105399436216001

    我可以使用什么正则表达式来根据这些规则验证用户名?

    1 回复  |  直到 6 年前
        1
  •  2
  •   Tim Biegeleisen    6 年前

    尝试以下模式:

    ^(?!.*\.(?:com|net))[A-Z0-9.]{5,}$
    

    console.log(/^(?!.*\.(?:com|net))[A-Z0-9.]{5,}$/.test('abc')); // too short
    console.log(/^(?!.*\.(?:com|net))[A-Z0-9.]{5,}$/.test('tim.com')); // contains .com
    console.log(/^(?!.*\.(?:com|net))[A-Z0-9.]{5,}$/.test('abc$#')); // forbidden characters
    
    console.log(/^(?!.*\.(?:com|net))[A-Z0-9.]{5,}$/.test('ABC123')); // matches

    [A-Za-z0-9.] ,或使用 i