我的客户喜欢用中文字母输入用户名,但我没有能力检测到它,我如何拒绝中文字母作为用户名,只接受英文字母,下划线,短划线和号。
另一个问题是,因为有人在我的sql数据库中输入中文字母,我如何找到包含UTF8中文字母的行。
我的编码字符集是utf8_general_ci
由于
答案 0 :(得分:1)
并且只接受英文字母,下划线,短划线和数字。
在这种情况下,您可以告诉您的代码只接受
[a-zA-Z0-9_-]
并使用任何正则表达式函数来检查输入是否确认
补充问题的回答:
您可以找到具有相同正则表达式的非确认用户名
SELECT id FROM users WHERE username NOT REGEXP '^[a-zA-Z0-9_-]+$'
强文