当前位置: 首页 > news >正文

共享网站哪里建为什么很多公司做网站建设

共享网站哪里建,为什么很多公司做网站建设,常熟响应式网站,响应式网站跟自适应网站的区别下面是一个用于判断是否是身份证号码的Oracle 11g函数(FUN_IS_IDENNO)。身份证号码通常为18位(或者旧的15位),前17位为数字,第18位为数字或字母X,并且需要符合一定的规则,例如出生日…

下面是一个用于判断是否是身份证号码的Oracle 11g函数(FUN_IS_IDENNO)。身份证号码通常为18位(或者旧的15位),前17位为数字,第18位为数字或字母X,并且需要符合一定的规则,例如出生日期是否合理,校验位是否正确等。函数来自chatgpt,测试无误

函数逻辑:

  • 1 输入参数:p_idenno,传入的身份证号码。
  • 2 校验逻辑
    1. 判断身份证号的长度是否为18位。
    2. 检查前17位是否为数字。
    3. 验证生日部分是否为有效日期。
    4. 通过身份证的加权因子和校验位规则计算第18位校验码是否正确。
  • 3 返回值
    1. YES 表示身份证号有效。
    2. NO 表示身份证号无效。

在线身份证校验
测试: SELECT FUN_IS_IDENNO('610427197005053353') "是" ,FUN_IS_IDENNO('610424198505184124') "否" FROM DUAL;

CREATE OR REPLACE FUNCTION FUN_IS_IDENNO(p_idenno IN VARCHAR2)
RETURN VARCHAR2
ISv_result VARCHAR2(3) := 'NO';v_iden_length PLS_INTEGER;v_birthday VARCHAR2(8);v_year PLS_INTEGER;v_month PLS_INTEGER;v_day PLS_INTEGER;v_check_digit CHAR(1);v_check_sum PLS_INTEGER := 0;v_weights PLS_INTEGER := 0;v_multipliers CONSTANT SYS.ODCINUMBERLIST := SYS.ODCINUMBERLIST(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2);v_check_chars CONSTANT VARCHAR2(11) := '10X98765432';
BEGIN-- 获取身份证号码长度v_iden_length := LENGTH(p_idenno);-- 校验身份证长度是否为18位IF v_iden_length = 18 THEN-- 校验前17位是否为数字IF REGEXP_LIKE(SUBSTR(p_idenno, 1, 17), '^\d{17}$') THEN-- 校验出生日期是否合理v_birthday := SUBSTR(p_idenno, 7, 8);v_year := TO_NUMBER(SUBSTR(v_birthday, 1, 4));v_month := TO_NUMBER(SUBSTR(v_birthday, 5, 2));v_day := TO_NUMBER(SUBSTR(v_birthday, 7, 2));IF v_year BETWEEN 1900 AND EXTRACT(YEAR FROM SYSDATE) AND v_month BETWEEN 1 AND 12 THENIF (v_month = 2 AND v_day BETWEEN 1 AND 29 AND MOD(v_year, 4) = 0 AND (MOD(v_year, 100) <> 0 OR MOD(v_year, 400) = 0)) OR(v_month = 2 AND v_day BETWEEN 1 AND 28 AND (MOD(v_year, 4) <> 0 OR (MOD(v_year, 100) = 0 AND MOD(v_year, 400) <> 0))) OR(v_month IN (1, 3, 5, 7, 8, 10, 12) AND v_day BETWEEN 1 AND 31) OR(v_month IN (4, 6, 9, 11) AND v_day BETWEEN 1 AND 30) THEN-- 计算校验位FOR i IN 1..17 LOOPv_weights := TO_NUMBER(SUBSTR(p_idenno, i, 1)) * v_multipliers(i);v_check_sum := v_check_sum + v_weights;END LOOP;-- 获取计算出的校验位v_check_digit := SUBSTR(v_check_chars, MOD(v_check_sum, 11) + 1, 1);-- 校验第18位是否正确IF v_check_digit = SUBSTR(p_idenno, 18, 1) THENv_result := 'YES';END IF;END IF;END IF;END IF;END IF;RETURN v_result;
END FUN_IS_IDENNO;
/
http://www.15wanjia.com/news/159788.html

相关文章:

  • 网上做网站怎么防止被骗建设银行网站的机构有哪些
  • 上门做指甲哪个网站旧笔记本 做网站
  • 脉脉用的什么技术做网站汽车技术资料网站建设
  • 做论坛网站的应用网络服务费税率是多少
  • 怎样下载做网站的软件广州h5网站建设
  • 湖南长沙网站建设公司外贸论坛网站有哪些
  • 苏州网站建设制作开发公司vps如何搭建网站
  • 外贸企业网站改版公众号编辑器下载
  • 网站推广软件免费版大全手机做ppt的软件
  • 建站公司还赚钱吗wordpress 微信login
  • 网站备案网站名称怎么填西地那非
  • 网站设计建设代理机构求十大猎头公司排名
  • 网站站点不安全个人小白用织梦好还是wordpress好
  • 市中移动网站建设网站如何设置关键词
  • 免费建网站哪个模板多企业培训十大热门课程
  • 网站解析多久wordpress设置登录可见
  • 涿州做网站公司哪个公司网站做的好
  • 不需要验证码的注册网站哪些网站百度收录快
  • 网站设计由哪个部门做双语cms网站
  • 南阳网站建设赛科c 做网站
  • 聊城制作手机网站南京专业网站制作
  • 网站建设的售后服务在百度平台如何做营销
  • 做网站需要知道优化吗石家庄做网站哪家好
  • 建立网站需要多长钱织梦网站关闭手机版
  • 二级网站怎样做莱芜话题最新消息
  • 自己可以做门户网站吗易销云建站公司
  • 哪家能建设网站网站建设画册设计
  • 百度为什么会k网站织梦网站栏目是做什么用的
  • 临沂莒南网站建设做网站最少几个页面
  • 越南做彩票网站是违法的吗网线制作规范