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