身份证号码验证方法

本文详细介绍了身份证号码的验证方法,包括使用的参数和日期校验规则,帮助理解如何确保身份证号码的有效性和合法性。
摘要由CSDN通过智能技术生成
*************************
* 身份证号码验证方法
*************************
*PARAMETERS SFZ
CLEAR
CLOSE TABLES
**oldgzq=select()
LOCAL RQ,XB,ZFZH
SFZ="34052219870228001X"
XB="男"
SFZH=""
*----身份证号码位数验证
IF !INLIST(LEN(SFZ),15,18)
   MESSAGEBOX("身份证号码位数不够",64,"系统信息")
   RETURN
ENDIF
*----统一位数为17位
IF LEN(SFZH)=15
   SFZH=STUFF(SFZ,7,0,"19") &&补足17位
ELSE
   SFZH=LEFT(SFZ,17)
ENDIF
*----出生日期"月"初查
IF !BETWEEN(VAL(SUBSTR(SFZH,11,2)),1,12)
   MESSAGEBOX("身份证号码出生日期【月】代码超出范围",64,"系统信息")
   RETURN
ENDIF
*----出生日期"日"初查
IF !BETWEEN(VAL(SUBSTR(SFZH,13,2)),1,31)
   MESSAGEBOX("身份证号码出生日期【日】代码超出范围",64,"系统信息")
   RETURN
ENDIF

RQ=DATE(VAL(SUBSTR(SFZH,7,4)),VAL(SUBSTR(SFZH,11,2)),VAL(SUBSTR(SFZH,13,2))) &&转换为出生日期

*----身份证发放地代码验证(前6位数字)
USE QHDM ALIAS QHDM &&行政区划代码表
LOCATE FOR 区划代码
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值