我有一个系统,允许特定用户创建新用户帐户,但由于几个原因,他们无法获取系统上所有用户的列表。这可能会使创建新用户名变得困难(如果他们看不到已使用名称的列表)
是否有任何标准方法可以根据人的名字和姓氏创建用户名?
现在,该系统尝试使用名字的第一个字母和姓氏作为默认...但是如果那是一个已被使用的名字怎么办?有没有一种简单的方法来创建这个新的用户名,而不是让人一次又一次地尝试?(我不想最终得到jsmith1234这样的结果)
我可以使用PHP、jquery和mySQL。
$foo->genPossibleUserNames('Dave', 'Smith');
可能返回
当然,您会根据个人喜好对这些可能的用户名进行排序。然后,您将检查数据库以确保这些名称的唯一性,并将它们作为选项列表提供给您的用户。
当然,如果您的用户群变得足够大,那么使用dsmith1是不可避免的,但至少这样可以鼓励用户首先选择更合适的用户名。
我认为你最终会以jsmith123结束,但你可以想出一些算法来。
Person: John Smith
Try1: johnsmith
Try2: smithjohn
Try3: jsmith
Try4: johns
Try5: johnsm
Try6: johnsmi
等等。如果最终你没有得到一个唯一的名字,你就必须回到数字,但你应该能够得到98%的名称而不需要那样做。