我有这个模特
name = models.CharField(max_length=50, blank=True, null=True)
email = models.EmailField(max_length=50, unique=True)
我希望用户在两个字段中都不能使用字母数字以外的任何其他字符。
有什么办法吗?
您将使用验证器来限制字段接受的内容。ARegexValidator
可以在这里实现窍门:
from django.core.validators import RegexValidator
alphanumeric = RegexValidator(r'^[0-9a-zA-Z]*$', 'Only alphanumeric characters are allowed.')
name = models.CharField(max_length=50, blank=True, null=True, validators=[alphanumeric])
email = models.EmailField(max_length=50, unique=True, validators=[alphanumeric])
请注意,已经有一个validate_email
验证器可以为您验证电子邮件地址。上述alphanumeric
验证器将不允许使用有效的电子邮件地址。
问题内容: 我正在尝试使用以下命令选择MySQL中仅包含字母数字字符的所有行: 但是,它将返回所有行,而不管它们包含非字母数字字符的事实。 问题答案: 试试这个代码: 这样可以确保所有字符都匹配。
问题内容: 我正在尝试验证我的字符串是否与模式匹配。也就是说,完整的字符串可以写为该模式。但是,如果有任何子字符串匹配该模式,则返回。(如回报,这是我不想在这个例子中,我宁愿验证,整个字符串只含有少量拉丁字母)。 问题答案: 您可以使用 开始 和 结束 标记,并分别指示开始,在您的正则表达式模式的字符串的结尾。这样,您可以使表达式仅匹配整个字符串,而不匹配任何子字符串。在您的情况下,它将如下所示:
问题内容: 我只想在我的姓名字段中输入字母作为输入。 我已经尝试过使用matchs方法,但是不幸的是出了点问题,并且抛出了异常。 还有其他检查方法吗? 问题答案: 您可以尝试使用此正则表达式
问题内容: 如何在mysql中选择仅包含大写字符的字段或不包含任何小写字符的字段? 问题答案: 您可能需要使用区分大小写的排序规则。我相信默认值不区分大小写。例: 然后: 如果您不想在整个表中使用区分大小写的排序规则,则也可以使用其他答案中建议的@kchau子句。 让我们尝试使用不区分大小写的排序规则的表: 这不能很好地工作: 但是我们可以使用子句将名称字段整理为区分大小写的整理:
问题内容: 在JS中,我使用了以下代码: 但是我不知道如何在PHP中做到这一点。 问题答案: 使用preg_match()。
问题内容: 什么是最好的纯Python实现,以检查字符串是否包含字母表中的任何字母? 哪里会因为没有字母而返回,而会因为有了字母而返回。 问题答案: 正则表达式应该是一种快速的方法: