2

Django的新手,所以我不确定如何实现以下...

我有这个正则表达式

"@£$¥èéùìòÇ\fØø\nÅåΔ_ΦΓΛΩΠΨΣΘΞÆæßÉ !\"#¤%&'()*+,-./[0-9]:;<=>\?¡[A-Z]ÄÖÑܧ¿[a-z]äöñüà\^\{\}\[~\]\|€"

我有这个功能:

def validate_GSM_characters(value):
    """ Raise a ValidationError if the value contains any values not within
        the GSM character set.
    """
    msg = u"Invalid characters."

    raise ValidationError(msg)

目前它什么都不做,但我需要知道如何在 Django/Python 中创建一个允许我检查值的正则表达式函数。我做了谷歌搜索,只能找到与模型验证相关的文章。

4

1 回答 1

2

只需将表达式与re模块一起使用:

import re

yourrule = re.compile(r"@£$¥èéùìòÇ\fØø\nÅåΔ_ΦΓΛΩΠΨΣΘΞÆæßÉ !\"#¤%&'()*+,-./[0-9]:;<=>\?¡[A-Z]ÄÖÑܧ¿[a-z]äöñüà\^\{\}\[~\]\|€")

def validate_GSM_characters(value):
    """ Raise a ValidationError if the value contains any values not within
        the GSM character set.
    """
    if not yourrule.search(value):
        msg = u"Invalid characters."

        raise ValidationError(msg)

您也可以只使用RegexValidator; 只需将您的表达式和消息传递给它,然后使用它而不是上面的函数。

于 2013-04-07T17:41:53.490 回答