Created
January 29, 2018 19:38
-
-
Save bluedeck/25041fa477f210c4d86ebcf30d105854 to your computer and use it in GitHub Desktop.
名称允许字串
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const raw_name_allow = /^[ -~¡-¬®-ʸぁ-ヿ㐀-䶵가-힣、-〼,!?;:( )[]【】—一-鿏]+$/; | |
const raw_name_regulate = str => str.replace(/[\s\n\r\t]/g, " ").replace(/[*=@#%&?|\\{}\[\]:]/g, ""); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
名称允许字串
N.B.:“名称”可以是用户名称、页面名称、消息名称和工单名称。为了方便起见,使用同一套规则。
允许范围(执行顺序:首先执行)
范围:拉丁字母、希腊字母、西里尔字母、一般半角符号、数学符号、CJK通用表意符号(汉字、假名、谚文、一些全形标点)
N.B.:拉丁字母可以是普通的、带扬抑分长音符的、或者用于法文德文瑞典文挪威文书面挪威文芬兰文荷兰文西班牙文及葡萄牙文的。
Rationale:暂定,可以添加或调整,以避免难以辨认的标点、空白字符和控制字符为目标,以容易访问和搜索为目标。
执行条例:任何不在该域内的用户名字符会被替换为空字串。
不允许存在在任何部位的字符(执行顺序:稍后执行)
禁止列表 1:*、=、@、#、%、&、?、|、\、/。
原因:
执行条例:上述字符使用空字符替代。
禁止列表 2:\s、\n、\r、\t。
原因:不便显示的字符。
执行条例:上述字符会被替换成 \u0020(英文半角空格)。
N.B.:替换后的字串仍有可能和下述规则冲突而拒绝注册。比如,首尾空白字符、连续空白字符。
其他规则(执行顺序:最后执行)
执行条例:不合格用户名拒绝注册。不合格頁面名拒絕創建,等等。