29.用正则表达式检验手机号是否合法

modelform 还有个功能叫clean,可以检查用户输入的数据。用法如下

from django import forms
from operation.models import UserAsk
import re

class UserAskForm(forms.ModelForm):
    class Meta:
        model = UserAsk
        fields = ['name','mobile','course_name']

    def clean_mobile(self):
        """
        验证手机号码是否合法
        """
        mobile = self.cleaned_data['mobile']
        REGEX_MOBILE = "^1[358]\d{9}$|^147\d{8}$|^176\d{8}$"
        p = re.compile(REGEX_MOBILE)
        if p.match(mobile):
            return mobile
        else:
            raise forms.ValidationError("手机号码非法",code="mobile_invalid")

在类下定义clean_XXX方法,必须以clean开头,XXX是字段。import re 引入正则表达式。这样写完点击前端提交,如果有问题就会显示添加出错了~

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,376评论 25 709
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,399评论 19 139
  • From: http://www.cnblogs.com/zhoujie/archive/2013/04/10/p...
    pzka158阅读 5,758评论 0 1
  • 人 要么庸俗 要么孤独 而我 是属于它们中间的 时间 可以改变容颜 可以改变心智 但它 磨灭不了 我对生活的执着和...
    夕阳下的24阅读 968评论 0 1
  • 说起无人区,大家的第一反应可能是可可西里,而羌塘是远比可可西里更广阔的世界。 羌塘在藏语中是北方高地的意思,海...
    鹤野阅读 3,258评论 0 1