FoxPro中如何验证身份z是否正确

FoxPro中如何验证身份z是否正确,第1张

以下介绍两种方式:

1.程序中的限制:

长度限制可以采用len()函数控制

len(a)=15 or len(a)=18 &&a 就是你的身份z字段

出生日期是否正确则可以采用取字串函数验证:substr(a,n,m)

比如: a="500102199911221234" 这个是十八位的身份z号码

则substr(a,7,4)="1999"

substr(a,11,2)="11"

substr(a,13,2)="22"

意思就是substrate(a,n,m)中,n表示从第几个字符开始,m表示取多长的长度,你只要控制住它的值就可以了

比如:b=substr(a,7,4)="1999"

2.数据表的限制

普通的自由表没法限制

只有数据库表才可以设置字段级规则,限制它的输入方式

1、这里有一个Excel文件,里面录入了一组身份z号码(非真实人的身份z号)其中一个为错误号码,在没有认真核对以前很难发现。

2、新建一列校验结果列,双击单元格,粘贴以下公式代码

=IF(A3="","",(IF(MID("10X98765432",MOD(SUMPRODUCT(MID(A3,ROW(INDIRECT("1:17")),1)*2^(18-ROW(INDIRECT("1:17")))),11)+1,1)=MID(A3,18,18),"正确","错误")))

将公式中三处 A3 修改为你要校验的身份z号码所在单元格名,然后按回车键,公式自动完成校验。

3、鼠标放单元格右下角变十字时,按住下拉,完成所有行身份z号的校验,或双击本单元格右下角完成所有行校验。

4、认真核对显示校验错误的身份z号码,更正后校验列会变为“正确”。

5、身份z最后一位为校验位,但不能完全保证身份z号码的正确性,如果同时出现两位或多位号码错误,校验结果也可能显示“正确”,如图,

核对身份z号是否正确,只能通过位数设置函数公式来查看位数是否正确

首选打开表格之后

其次在一个空白单元格输入等号if(COUNT(A1)=18,"正确","错误")

最后在A1列输入数据就可以了


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10829805.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-11
下一篇 2023-05-11

发表评论

登录后才能评论

评论列表(0条)

保存