如何用jQuery实现输入身份证号码后,出生日期自动生成

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用jQuery实现输入身份证号码后,出生日期自动生成相关的知识,希望对你有一定的参考价值。

参考技术A 获得输入文本框的值,然后截字符串呗……前六位都没用,从第七位开始是年份
如果身份证input的id为“input”则
var
idcard
=
$("#input").val();//获得身份证号
var
year
=
idcard.
substr(6,4);
var
month
=
idcard.
substr(10,2);
var
day
=
idcard.
substr(12,2);
然后给文本或者dom元素赋值就行了

SQL由身份证号计算出生日期和年龄

这是在一个表中,我想输入ID(身份证号)后,后面的列明birth(出生日期),AGE(年龄)会直接计算结果,语句该怎么写,写在哪个地方,是写在默认值那么?

select SUBSTRING (id, 7, 4) + '-' + SUBSTRING (id, 11, 2) + '-' + SUBSTRING (id, 13, 2) from ‘员工信息表’

参考技术A select datediff(day,convert(datetime,SUBSTRING (ID, 7, 4) + '-' + SUBSTRING (ID, 11, 2) + '-' + SUBSTRING (ID, 13, 2)) ,getdate())/360 from 员工信息表追问

这句话要加在哪里?

参考技术B 给字段加上GENERATED选项, GENERATED as (SUBSTRING (id, 11, 2))追问

怎么加,加在哪个地方?
加在默认值那?
本人初学者,不太会

追答

建表或修改表时,加在字段类型后面

追问

这个地方不能加这个啊

追答

你用的什么数据库?
有些数据库支持这个功能,有些数据库不支持

追问

SQL2005

参考技术C 这个需要用触发器,你稍等,我写一个追问

不能在列属性中直接设计么

追答--创建表
create table [员工信息表] 
(name varchar(10)
,sex char(4)
,id varchar(18)
,birth datetime
,age char(2))

--创建触发器
CREATE TRIGGER tgr_员工信息表_1 ON [员工信息表]
for Insert, Update
AS
BEGIN
 declare @birth datetime,@id varchar(18);
 select @id=id,@birth=convert(datetime,substring(id,7,8)) from inserted;
 update [员工信息表]
 set birth=@birth,
   age=convert(varchar,datediff(year,@birth,getdate()))
 where id=@id;
END
 
--插入数据
insert into [员工信息表] (name,sex,id) values ('张三','男','xxxxxx19800101xxxx');

结果如下:

 

SQL Server里只能通过触发器,不能通过设置列属性的方式实现。

本回答被提问者采纳

以上是关于如何用jQuery实现输入身份证号码后,出生日期自动生成的主要内容,如果未能解决你的问题,请参考以下文章

如何用Excel提取身份证号码里面的出生日期?

如何用excel计算出年龄?

如何用身份证在Excel中自动提取姓名性别出生日期年龄

如何利用Python输入身份证号码,输出后用*将出生日期覆盖?

用Java从任意给定的身份证号码中提取此人的出生日期

sql中,根据身份证号码截取出了出生日期,怎么获取当前年龄,精确到月、日?