facebook用户名的规则说明如下
用户名只能包含字母数字字符(A-Z,0-9)或句点(“。”),并且至少必须包含5个字符。
它们不能包含.com或.net。
ref:https://www.facebook.com/help/105399436216001
我可以使用哪种正则表达式来根据这些规则验证用户名?
答案 0 :(得分:2)
尝试以下模式:
^(?!.*\.(?: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
标志使正则表达式文字不区分大小写。