postgresql 身份证、手机号、营业执照验证脚本
以前都是写基于后端的证件号、手机号验证,最近又数据处理人员,需要基于postgresql数据库的快速验证,在网上查询搜集了一番,资料,这里记录一下
验证18位身份证号码
CREATE OR REPLACE FUNCTION "public"."check_idcard"("a_sfz" varchar)RETURNS "pg_catalog"."bool" AS $BODY$DECLARE
v_sfz varchar;
v_i integer;
v_sum integer;
v_array1 integer[];
v_array2 varchar[];
v_s varchar;
BEGINv_sfz:=upper(trim(a_sfz));raise notice '检测身份证号%',v_sfz;if length(v_sfz)=18 and v_sfz ~ '^[123456789]\d{5}(19|20)\d{2}(0\d|10|11|12)(0\d|1\d|2\d|30|31)\d{3}[\dX]' thenv_array1:=array[7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2];v_array2:=array['1','0','X','9','8','7','6','5','4','3','2'];v_i:=1;v_sum:=0;loopv_s:=substr(v_sfz,v_i,1);v_sum:=v_sum + cast(v_s as integer)*v_array1[v_i];v_i:=v_i + 1;if v_i>17 thenexit;end if;end loop;v_sum:=mod(v_sum,11) + 1;v_s:=v_array2[v_sum];if v_s=substr(v_sfz,18,1) thenreturn true;elsereturn false;end if;elsereturn false;end if;
END
$BODY$LANGUAGE plpgsql VOLATILECOST 100
验证手机号
CREATE OR REPLACE FUNCTION "public"."check_phone"("name_per" text)RETURNS "pg_catalog"."bool" AS $BODY$---------------------------------------------
-- 1.长度,2-11
-- 2.无特殊符号及数字、字母,·除外,^[\u4e00-\u9fa5]{0,}$
---------------------------------------------declare
beginif length(name_per) !=11 thenreturn false;elseif replace(name_per,'·','') ~* '^1[3|4|5|6|7|8|9][0-9]\d{8}$' thenreturn true;elsereturn false;end if;end if;
end;
$BODY$LANGUAGE plpgsql VOLATILECOST 100
验证营业执照
CREATE OR REPLACE FUNCTION "public"."check_phone"("name_per" text)RETURNS "pg_catalog"."bool" AS $BODY$---------------------------------------------
-- 1.长度,2-11
-- 2.无特殊符号及数字、字母,·除外,^[\u4e00-\u9fa5]{0,}$
---------------------------------------------declare
beginif length(name_per) =0 thenreturn false;elseif replace(name_per,'·','') ~* '^[0-9A-HJ-NPQRTUWXY]{2}\d{6}[0-9A-HJ-NPQRTUWXY]{10}' thenreturn true;elsereturn false;end if;end if;
end;
$BODY$LANGUAGE plpgsql VOLATILECOST 100
postgresql 身份证、手机号、营业执照验证脚本相关推荐
- layui前端表单验证(身份证,手机号 图形验证码等)
文章目录 前言 一.layui前端验证 二.使用步骤 1.以下介绍几个常用的前端验证 2.thinkphp后台验证 3.效果展示 前言 layui前端框架是一款比较流行的前端框架,多模块集成的UI框架 ...
- 手机二要素认证接口怎么用?手机号姓名验证怎么操作?
手机二要素认证接口起源于数字手机时代,二十一世纪初期,互联网络诞生了网上电商.金融.通讯.网吧等产业,开始实行实名认证制. 手机二要素验证主要用于国内三大通信运营商业务(包括:移动.联通.电信三大运营 ...
- SQLServer2005 身份证函数,含验证和15位转18位
Author:水如烟 SQLServer2005 身份证函数,含验证和15位转18位 USE [ LzmTWWorks ] GO /* ***** 对象: UserDefinedFunction ...
- JavaScript 身份证号有效验证详解及实例代码
这篇文章主要介绍了JavaScript 身份证号有效验证详解及实例代码的相关资料,需要的朋友可以参考下 JavaScript验证身份证号 1 2 3 4 5 6 7 8 9 10 11 12 13 1 ...
- 便携式三星mysql_三星集团某站点MySQL盲注一枚(附python验证脚本)
漏洞概要 缺陷编号:WooYun-2014-082219 漏洞标题:三星集团某站点MySQL盲注一枚(附python验证脚本) 相关厂商:三星集团 漏洞作者:lijiejie 提交时间:2014-11 ...
- jQuery Validate表单中文正则验证+手机号正则验证
话不多说先上图 <!DOCTYPE html> <html> <head><meta charset="utf-8"><tit ...
- js实现完美身份证号有效性验证+身份证与姓名匹配
/* 根据[中华人民共和国国家标准 GB 11643-1999]中有关公民身份号码的规定,公民身份号码是特征组合码,由十七位数字本体码和一位数字校验码组成.排列顺序从左至右依次为:六位数字地址码,八位 ...
- 谷歌如何注册账号?手机号无法验证处理方法!2023年最新教程!
最近学会了如何爬网站,然后在观看油管过程中,想要注册一个油管账号,也就是谷歌账号.但是在注册过程中,您发现无法使用手机号进行验证.您已经查阅了一些解决方法,不过没有解决,最后钞能力在某宝(老顽童科技) ...
- 正则表达式验证身份证号以及验证校验位的正确性
需求:给定一个字符串,从中提取出身份证号 关于验证15位和18位身份证号的正则表达式可以参考下面的内容: http://www.cppcns.com/wangluo/re/183062.html 一. ...
- javascript实现完美身份证号有效性验证15位18位
欢迎各位朋友! 前几天在开发中要求对用户的身份证号进行比较严格的校验,所以才有了这些代码, 下面的这些代码主要包括对身份证长度,地区,出生日期的校验. 方法在return时返回了一个是否通过以及提 ...
最新文章
- 二叉树的遍历(递归与非递归)
- Windows 2008 R2 SP1部署Lync2010企业版(四)
- 9月往后推6个月是几月_成考每年一般几月份颁发毕业证书
- torch_geometric笔记:max_pool 与max_pool_x
- 大数据的下一站是什么?服务/分析一体化(HSAP)
- 不经保存,直接读取上传文件
- 易驾佳智能机器人教练_学车吗?全智能模拟+车载机器人教练,让你轻松学车...
- coffeescript html5,HTML5——前端预处理技术(Less、Sass、CoffeeScript)
- 如何用Pygame写游戏(七)
- android 网络编程面试题,Android面试题整理
- 记一次设备网络问题的排查
- ckeditor 触发事件(案例)
- MySQL----下载安装
- txtv28pw河南某中学_有一种寒冷叫不穿秋裤!河南一中学班主任让学生列队挨个检查秋裤...
- 【敏捷2.2】极限编程XP
- 计算机无线网怎么安装教程,全民wifi驱动怎么安装_电脑安装全民wifi驱动教程
- 知云文献翻译安装及使用教程
- 【学习记录】合并排序(归并排序)-分治法-计算机算法
- el-checkbox为甚点击一个其他的全部都选中了,或者为什么选中的绑定的获取的不是label而是true或者false呢?获取label但是不显示
- vs2010 sp1 安装Silverlight5后不能使用,提示需要安装Silverlight4