校验身份证 时间日期格式

//将标准时间转为xxxx-xx-xx
var formatDateTime = function (date) {
var y = date.getFullYear();
var m = date.getMonth() + 1;
m = m < 10 ? ‘0‘ + m : m;
var d = date.getDate();
d = d < 10 ? (‘0‘ + d) : d;
return y + ‘-‘ + m + ‘-‘ + d;
};
//效验身份证
function IdentityCode(code) {
var city={11:"北京",12:"天津",13:"河北",14:"山西",15:"内蒙古",21:"辽宁",22:"吉林",23:"黑龙江 ",31:"上海",32:"江苏",33:"浙江",34:"安徽",35:"福建",36:"江西",37:"山东",41:"河南",42:"湖北 ",43:"湖南",44:"广东",45:"广西",46:"海南",50:"重庆",51:"四川",52:"贵州",53:"云南",54:"西藏 ",61:"陕西",62:"甘肃",63:"青海",64:"宁夏",65:"新疆",71:"台湾",81:"香港",82:"澳门",91:"国外 "};
var tip = "";
var pass= true;         
if (!code || !/(18|19|20)?\d{2}(0[1-9]|1[012])(0[1-9]|[12]\d|3[01])/.test(code)) {
pass = false;
}else if(!city[code.substr(0,2)]){
pass = false;
}else{
//18位身份证需要验证最后一位校验位
if(code.length == 18){
code = code.split(‘‘);
//∑(ai×Wi)(mod 11)
//加权因子
var factor = [ 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2 ];
//校验位
var parity = [ 1, 0, ‘X‘, 9, 8, 7, 6, 5, 4, 3, 2 ];
var sum = 0;
var ai = 0;
var wi = 0;
for (var i = 0; i < 17; i++){
ai = code[i];
wi = factor[i];
sum += ai * wi;
}
var last = parity[sum % 11];
if(parity[sum % 11] != code[17].toUpperCase()){
pass =false;
}
}
}
return pass;
}

时间: 2024-10-17 04:56:00

校验身份证 时间日期格式的相关文章

【Oracle】Oracle时间日期格式

to_date("要转换的字符串","转换的格式")   两个参数的格式必须匹配,否则会报错. 即按照第二个参数的格式解释第一个参数. to_char(日期,"转换格式" ) 即把给定的日期按照"转换格式"转换. 转换的格式: 表示year的:y 表示年的最后一位 yy 表示年的最后2位 yyy 表示年的最后3位 yyyy 用4位数表示年 表示month的:mm 用2位数字表示月:mon 用简写形式 比如11月或者nov :m

C#时间日期格式大全

C#时间/日期格式大全,C#时间/日期函数大全 有时候我们要对时间进行转换,达到不同的显示效果 默认格式为:2016-7-1 14:33:34 如果要换成成201607,07-2016,2016-7-1或更多的该怎么办呢? 我们要用到: DateTime.ToString的方法(String, IFormatProvider) using System; using System.Globalization; String format="D"; DateTime date=DataT

Android中的时间日期格式如何定义

1.如何保证日期格式与系统设定的一致: Date date = new Date(location.getTime()); DateFormat dateFormat = android.text.format.DateFormat.getDateFormat(getApplicationContext()); mTimeText.setText("Time: " + dateFormat.format(date)); 注意此处应该应该用 android.text.format.Dat

poj 3751 时间日期格式转换

题目链接:http://poj.org/problem?id=3751 题目大意:按照要求的格式将输入的时间日期进行转化. 1 #include <iostream> 2 #include <cstdio> 3 using namespace std; 4 int main () 5 { 6 int t; 7 cin>>t; 8 while (t--) 9 { 10 int y,m,d,xs,fz,ms; 11 char ch1,ch2,ch3,ch4,ch5; 12

Java练习 SDUT-2246_时间日期格式转换

时间日期格式转换 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 对于日期的常用格式,在中国常采用格式的是"年年年年/月月/日日"或写为英语缩略表示的"yyyy/mm/dd",此次编程竞赛的启动日期"2010/11/20"就是符合这种格式的一个日期, 而北美所用的日期格式则为"月月/日日/年年年年"或"mm/dd /yyyy",

其他: 微软拼音输入法 自定义时间日期格式

概述 微软拼音输入法 下, 自定义 时间日期格式 这个功能, 让我真正见识到了, 什么是 鸡肋 背景 因为 cpu 和 内存占用的原因, 我换掉了 qq拼音输入法 至于替代品, 我选择了 win10 自带的 微软拼音 但是也遇到了些问题 微软拼音自带的 时间日期格式, 我不是很喜欢 os win10 1. 问题: 时间日期格式 概述 微软拼音 默认的时间日期格式, 不太适合我 我的需求 输入法自带 时间日期格式 微软拼音有 我需要的格式如下 时间 2020-02-07 12:36:52 日期 2

Java时间日期格式转换

import java.text.*; import java.util.Calendar; public class VeDate { /** * 获取现在时间 * * @return 返回时间类型 yyyy-MM-dd HH:mm:ss */ public static Date getNowDate() { Date currentTime = new Date(); SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd

GMT 和 时间日期格式

GMT:格林尼标准时间 北京时间=GMT时间+8小时 SimpleDateFormat类的概述 SimpleDateFormat 是一个以与语言环境有关的方式来格式化和解析日期的具体类.它允许进行格式化(日期 -> 文本).解析(文本 -> 日期)和规范化. SimpleDateFormat 使得可以选择任何用户定义的日期-时间格式的模式. 日期和时间模式 日期和时间格式由日期和时间模式 字符串指定.在日期和时间模式字符串中,未加引号的字母 'A' 到'Z' 和'a' 到'z' 被解释为模式字

[js] js和C# 时间日期格式转换

下午在搞MVC和EXTJS的日期格式互相转换遇到了问题,我们从.NET服务器端序列化一个DateTime对象的结果是一个字符串格式,如 '/Date(1335258540000)/' 这样的字串. 整数1335258540000实际上是一个1970 年 1 月 1 日 00:00:00至这个DateTime中间间隔的毫秒数.通过javascript用eval函数可以把这个日期字符串转换为一个带有时区的Date对象,如下 用var date = eval('new ' + eval('/Date(