为啥有些网站输入用户名必须以字母开头并只能使用字母和下划线

这是个有趣的问题,在stackexchange有一个讨论:Why do so many websites have the restriction of user names starting with a letter?主要目的是有利于识别URL。假设某用户的ID是177896并且他的用户名是H4rold,那么你可以用两个不同的URL来访问这一用户。http://example.com/user/177896http://example.com/user/H4rold如果采用这种方案,在网站后台只需检查/后面的第一个字符就可以知道是哪一种格式的URL。当然,许多开发人员只是把这种方案当成一种惯例,而不是出于某种特定的目的。
■网友
我尝试回答一下,非专业回答,因为我之前自己也考虑了这个问题。我们假设可以以数字开头,那么就带来一个问题:允许以数字开头,那么用户就可能输入一个全数字的用户名,除非你限制不能全数字,真要这样限制的话,还不如限制开头不能为数字。那么,全数字的用户名有什么问题呢?我想了想可能有以下几个问题:1)不美观,或者不合乎习惯:全数字大家理解都是id,而名称用全数字感觉比较怪异2)程序处理可能存在隐患:某些语言纯数字的字符串和真正的整数是等价的,可能存在一些隐患吧


    推荐阅读