1 基本数据类型

  参见W3C的教程即可

2 正则表达式

  参考博文:点击前往

3 身份证校验

  参考博文:点击前往

<div class="panel panel-primary">
  <div class="panel-heading">身份证编号验证</div>
  <div class="panel-body div_body">
    <div class="form_div">
      <form (ngSubmit)="onNgSubmit()" [formGroup]="idcardForm">
        <mat-form-field>
            <input type="number" matInput matTooltip="身份证前六位数字代表地址信息" placeholder="请输入身份证前6位" formControlName="address" />
            <mat-error *ngIf="idcardForm.hasError('required', 'address')">
              <span>6为地址是必填项</span>
            </mat-error>
            <mat-error *ngIf="idcardForm.hasError('addressFormatValidator', 'address')">
              <span>{{idcardForm.getError('addressFormatValidator', 'address')?.desc}}</span>
            </mat-error>
            <mat-error *ngIf="idcardForm.hasError('addressLengthValidator', 'address')">
              <span>{{idcardForm.getError('addressLengthValidator', 'address')?.desc}}</span>
            </mat-error>
        </mat-form-field>
        <mat-form-field>
          <input type="number" matInput matTooltip="身份证的第7到10位代表出生年份" placeholder="请输入年份" formControlName="year" />
          <mat-error *ngIf="idcardForm.hasError('required', 'year')">
            <span>4为年份是必填项</span>
          </mat-error>
          <mat-error *ngIf="idcardForm.hasError('yearFormatValidator', 'year')">
            <span>{{ idcardForm.getError('yearFormatValidator', 'year')?.desc }}</span>
          </mat-error>
        </mat-form-field>
        <mat-form-field>
          <input type="number" matInput matTooltip="身份证第11到12位代表出生月份" formControlName="month" placeholder="请输入出生月份" />
          <mat-error *ngIf="idcardForm.hasError('required', 'month')">
            <span>2位出生月份是必填项</span>
          </mat-error>
          <mat-error *ngIf="idcardForm.hasError('monthFormatValidator', 'month')">
            <span>{{idcardForm.getError('monthFormatValidator', 'month')?.desc}}</span>
          </mat-error>
        </mat-form-field>
        <mat-form-field>
          <input type="number" matInput matTooltip="身份证的第13到14位代表出生天数" placeholder="请输入出生天数" formControlName="day" />
          <mat-error *ngIf="idcardForm.hasError('required', 'day')">
            <span>2位出生天数是必填项</span>
          </mat-error>
          <mat-error *ngIf="idcardForm.hasError('dayFormatValidator', 'day')">
            <span>{{idcardForm.getError('dayFormatValidator', 'day')?.desc}}</span>
          </mat-error>
        </mat-form-field>
        <mat-form-field>
          <input type="number" matInput matTooltip="身份证的15到17位数字代表顺序码" formControlName="sequenceCode" placeholder="请输入顺序码" />
          <mat-error *ngIf="idcardForm.hasError('required', 'sequenceCode')">
            <span>顺序码是必填项</span>
          </mat-error>
          <mat-error *ngIf="idcardForm.hasError('sequenceCodeValidator', 'sequenceCode')">
            <span>{{idcardForm.getError('sequenceCodeValidator', 'sequenceCode')?.desc}}</span>
          </mat-error>
        </mat-form-field>
        <mat-form-field>
          <input type="text" matInput matTooltip="身份证最后一位是校验码" formControlName="checkCode" placeholder="请输入校验码" />
          <mat-error *ngIf="idcardForm.hasError('required', 'checkCode')">
            <span>校验码是必填项</span>
          </mat-error>
          <mat-error *ngIf="idcardForm.hasError('checkCodeValidator', 'checkCode')">
            <span>{{idcardForm.getError('checkCodeValidator', 'checkCode')?.desc}}</span>
          </mat-error>
        </mat-form-field>
        <mat-form-field>
            <input type="text" matInput matTooltip="中国的公民身份证编号总共有18位" formControlName="idcard" placeholder="请输入身份证编号" />
            <mat-error *ngIf="idcardForm.hasError('required', 'idcard')">
              <span>身份证是必填项</span>
            </mat-error>
            <mat-error *ngIf="idcardForm.hasError('idcardValidator', 'idcard')">
              <span>{{idcardForm.getError('idcardValidator', 'idcard')?.desc}}</span>
            </mat-error>
          </mat-form-field>
        <br />
        <br />
        <div>
          <button mat-raised-button [disabled]="!idcardForm.valid" type="submit" >提交</button>
        </div>
      </form>
    </div>
  </div>
  <div class="panel-footer">2018-3-15 09:42:00</div>
</div>
HTML

相关文章:

  • 2022-01-15
  • 2022-02-24
  • 2021-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-09-17
  • 2021-05-29
  • 2022-12-23
相关资源
相似解决方案