`
tangkuo
  • 浏览: 100966 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

前台校验身份证号码

 
阅读更多
<script type="text/javascript">
$(document).ready(function(){
if("${oprFlag}"=="insert"){
form_addOrEditUmUser.orgName.value=parent.getHiddenVal("parentName_id");
form_addOrEditUmUser.orgId.value=parent.getHiddenVal("parentid_id");
}
if("${oprFlag}"=="update"){
$("#userAccount_id").attr("readonly",true);
}
form_addOrEditUmUser.value=parent.getHiddenVal("treeLevel_id");
}
);

$(function () {
$( "#dialog-form" ).dialog({
autoOpen: false,
height: 400,
width: 750,
modal: true,
buttons: {
" 确 认 ": function() {
$("#sincelift_name").val($("#pre_sinceliftName_id").val());
$("#sincelift_id").val($("#pre_sinceliftId_id").val());
$("#dialog-form").dialog("close");
},
" 取 消 ": function() {
$("#dialog-form").dialog("close");
}
},
open: function(event, ui) {
$(this).load("<%=basePath%>forms/logist/goToPage?goToPage=preSinceliftSel");
//$(this).load("<%=basePath%>forms/umOrg/toPreOrgSch");
}
});

$("#sincelift_name").click(function() {
  //$("#dialog-form").dialog("open");
});
});
/**
*新增
*/
function edit() {
    var tip="新增成功,已提交复核。";
if (validateForm($("form"))) {
if("${oprFlag}"=="update"){
if(!checkExist("canDo")){
return false;
}
$("#form_addOrEditUmUser_id").attr("action","<%=basePath%>forms/umUser/edit");
tip="修改成功,已提交复核。";
}else{
if(!checkExist("insert")){
return false;
}
}
self.parent.window.setHiddenVal("retFlag_id","false");
var url=document.getElementById("form_addOrEditUmUser_id").action;
var data = $("form").serialize();
showMask();
    $.post(url,data,function(json){
        hideMask();
if(json.result==1){
alert(tip);
return;
}
    });
}
}

/**
* 重置密码、锁定解锁
*/
function doSomething(oprFlag){
var url="";
var alt="";
if(oprFlag=="resetPW"){//重置密码
if(!confirm("您确定重置该用户密码为【000000】吗?")){
return false;
}
url="<%=basePath%>forms/umUser/resetPW";
alt="密码重置成功。";
}else if(oprFlag=="0"){//锁定
if(!confirm("您确定锁定该用户吗?")){
return false;
}
url="<%=basePath%>forms/umUser/lock";
alt="锁定成功。";
}else if(oprFlag=="1"){//解锁
if(!confirm("您确定解锁该用户吗?")){
return false;
}
url="<%=basePath%>forms/umUser/unLock";
alt="解锁成功。";
}
/** **/
if(!checkExist("canDo")){
return false;
}

$("#form_addOrEditUmUser_id").attr("action",url);
var data = $("form").serialize();
    $.post(url,data,function(json){
if(json.result==1){
alert(alt);
return;
}
    });
 
}


var returnVal=false;//全局变量,用于删除校验
function checkExist(oprFlag){

var url="<%=basePath%>forms/umUser/queryExist";
var userIdCard_id=$("#userIdCard_id").val();
var dataStr;
if(oprFlag=='insert'){
userAccount=$("#userAccount_id").val();
userAccount=$.trim(userAccount);
if(!userAccount){
return false;
}
dataStr = '{"userIdCard_id":"'+userIdCard_id+'", "userAccount":"' + userAccount + '","userId":"' + "" +'","oprFlag":"'+oprFlag+'"}';
}else if(oprFlag=='canDo'){
userId = "${umUser.userId}";
dataStr = '{"userIdCard_id":"'+userIdCard_id+'","userAccount":"' + "" + '","userId":"' + userId +'","oprFlag":"'+oprFlag+'"}';
}
var data = $.parseJSON(dataStr);

$.ajax({
type:"POST",
url:url,
data:data,
success:showResult,
async:false,
error:function(XMLHttpRequest, textStatus, errorThrown) {
document.write("json " + textStatus + XMLHttpRequest.responseText);
}
});
return returnVal;
}

/* 执行ajax后台方法后,返回结果 */
function showResult(json) {
if (!!json.result) {
alert(json.result);
if("${oprFlag}"=="insert"){
$("#userAccount_id").focus();
}

returnVal=false;
}else{
returnVal=true;
}
}

function retBack(){
self.parent.window.setHiddenVal("retFlag_id","true");
window.history.back();
}



//登录名 校验
function checkUserAccount(obj) {
var parten = /^\s*$/;
var loginName = obj.value;

var chineseParten = /[^\x00-\xff]/;
if(!parten.test(obj.value) && chineseParten.test(obj.value)){
alert("不能输入中文或双字节字符!");
obj.value = "";
obj.focus();
return ;
}
}

function isTel(val){
    //"兼容格式: 国家代码(2到3位)-区号(2到3位)-电话号码(7到8位)-分机号(3位)"
    //return (/^(([0\+]\d{2,3}-)?(0\d{2,3})-)?(\d{7,8})(-(\d{3,}))?$/.test(this.Trim()));
    return (/^(([0\+]\d{2,3}-)?(0\d{2,3})-)(\d{7,8})(-(\d{3,}))?$/.test($.trim(val)));
}

/**
*电话号码校验
*/
function checkTel(tel,type) {
if(tel.value != null && tel.value != "") {
if(isTel(tel.value)) {
return true;
} else {
alert("“"+type+"”格式不符!");
tel.value = "";
tel.focus();
return false;
}
}
}

function showOrgTree(){
//var url="${basePath}/pages/um/umorg/umOrgTree.jsp?oprFlag=inAttr";
//var param="dialogWidth:500px;dialogHeight:400px;help:no;Scroll=yes;status=yes;center=yes";
//var ret=window.showModalDialog(url,'inAttr',param);
//var ret=window.open(url,'inAttr',param);


var iTop = (window.screen.availHeight-30-500)/2;       //获得窗口的垂直位置;
var iLeft = (window.screen.availWidth-10-400)/2;           //获得窗口的水平位置;

var url="${basePath}/pages/um/umorg/umOrgTree.jsp?oprFlag=inAttr&orgId=${parentId}";
var params = "top="+iTop+",left="+iLeft+",height=500,width=400,status=yes,resizable=no,toolbar=no,menubar=no,location=no,scrollbars=yes,center=yes";
//window.open(url,"_blank",params);
var win = window.open(url,"newWindow",params);
}




/*function getRet(ret){
alert(ret);
$("#inAttr_id").attr("value",ret);
}*/


// 身份证校验
// checkValue 身份证
// return - true;false
function _checkSfzh(inputObj) {
inputObj.value=$.trim(inputObj.value);
if (inputObj.value == "")
return false;
var result = validateIDError(inputObj.value);

if (result == null) {
var birthDay='';
//设置生日和性别
var checkValue=inputObj.value;

if(checkValue.length == 15){
birthDay = "19"+checkValue.substring(6,8)+"-"
+checkValue.substring(8, 10)+"-"+
+checkValue.substring(10, 12);
}else{
birthDay=checkValue.substring(6, 10) + "-"
+ checkValue.substring(10, 12) + "-"
+ checkValue.substring(12, 14);
}

$("#userBirthday_id").attr("value",birthDay);

var sex=getSex(checkValue);
if(sex=="男"){
document.getElementById("userGender_id").options[1].selected=true;
$("#userGender_id2").attr("value",1);
}else if(sex=="女"){
document.getElementById("userGender_id").options[2].selected=true;
$("#userGender_id2").attr("value",0);
}


return true;
} else {
alert(result);
inputObj.focus();
inputObj.value="";
return false;
}
}

// 身份证校验
// checkValue 身份证
// return - 正确=null;错误=错误描述
function validateIDError(checkValue) {
if (checkValue == "")
return "输入为空值";

var paraValue = null;

if (checkValue.length != 15 && checkValue.length != 18) {
paraValue = "身份证号码的位数不正确 ";
} else if (checkValue.length == 18) {
var dateStr = checkValue.substring(6, 10) + "-"
+ checkValue.substring(10, 12) + "-"
+ checkValue.substring(12, 14);
if (!validateDate(dateStr)) {
paraValue = "身份证中的日期不合法 ";
}
last_value = get18bit(checkValue.substring(0, 17));
if (last_value != checkValue.substring(17, 18)) {
paraValue = (paraValue == null ? "" : (paraValue + ","))
+ "末位校验码不对 ,应该为" + last_value;
}
} else if (checkValue.length == 15) {
var reg = /^\d{15}/g;

if (reg.test(checkValue)) {
/**
// ADD BY ZXQ 2005-07-15
// alert("validateID--zxq");
var __year = "19" + checkValue.substring(6,;

var __month = checkValue.substring(8, 10);
var __day = checkValue.substring(10, 12);
if (!validateDate(CStr(__year) + "-" + CStr(__month) + "-"
+ CStr(__day))) {
paraValue = "身份证(15位)中的日期不合法";
}
var __idDate = convertstring2date(CStr(__year) + "-"
+ CStr(__month) + "-" + CStr(__day));
if (__idDate >= (new Date())) {
paraValue = "身份证(15位)中的日期不合法";
}
**/
return paraValue;
} else {
paraValue = "身份证(15位)号码不正确 ";
}
}
return paraValue;
}

// 获取身份证的性别
// gmsfhm 身份证
// return - 男,女
function getSex(gmsfhm) {
if (gmsfhm.length != 15 && gmsfhm.length != 18) {
// result.push("公民身份号码:长度错误");
}

if (gmsfhm.length == 15 || gmsfhm.length == 18) {
if (gmsfhm.length == 15) {
var sex = gmsfhm.substring(14, 15);
} else {
var sex = gmsfhm.substring(16, 17);
}
var pattern = /^(1|3|5|7|9)$/;
if (pattern.test(sex)) {
// alert("男");
return "男";
} else {
// alert("女");
return "女";
}
}

}

// ////////计算身份证号码的第18位///////////
function get18bit(textfield) {
var ll_value = 0;
for (i = 2; i <= 18; i++) {
ls_letter = textfield.substring(18 - i, 19 - i);
ll_value = ll_value + ls_letter * gf_wi(i);
}
ll_value = ll_value % 11;
if (ll_value == 2)
return ("X");
else if (ll_value == 0 || ll_value == 1)
return (1 - ll_value);
else
return (12 - ll_value);
}

function gf_wi(al_i) {
var ll_wi = 1;
do {
ll_wi = ll_wi * 2;
al_i--;
} while (al_i > 1)

return ll_wi % 11;
}

// fuction: validateDate 判断是否日期
// parameter:
// strValue - the string to validate
// version:
function validateDate(strValue) {
var objRegExp = /^\d{4}(\-|\/|\.)\d{1,2}\1\d{1,2}$/
// check to see if in correct format
if (strValue == "")
return true;
else if (!objRegExp.test(strValue))
return false; // doesn't match pattern, bad date
else {
var arrayDate = strValue.split(RegExp.$1); // split date into month,
// day,
// year
var intDay = parseInt(arrayDate[2], 10);
var intYear = parseInt(arrayDate[0], 10);
var intMonth = parseInt(arrayDate[1], 10);
var j = convertstring2date(strValue);
// check for valid month
if (intMonth > 12 || intMonth < 1) {
return false;
}
// create a lookup for months not equal to Feb.
var arrayLookup = {
'01' :31,
'03' :31,
'04' :30,
'05' :31,
'06' :30,
'07' :31,
'08' :31,
'09' :30,
'10' :31,
'11' :30,
'12' :31,
'1' :31,
'3' :31,
'4' :30,
'5' :31,
'6' :30,
'7' :31,
'8' :31,
'9' :30
}
// check if month value and day value agree
if (arrayLookup[arrayDate[1]] != null) {
if (intDay <= arrayLookup[arrayDate[1]] && intDay != 0)
return true; // found in lookup table, good date
}
// check for February
var booLeapYear = (intYear % 4 == 0 && (intYear % 100 != 0 || intYear % 400 == 0));
if (((booLeapYear && intDay <= 29) || (!booLeapYear && intDay <= 28))
&& intDay != 0)
return true; // Feb. had valid number of days
}
return false; // any other values, bad date
}

function convertstring2date(strValue) {
var objRegExp = /^\d{4}(\-|\/|\.)\d{1,2}\1\d{1,2}$/
if (objRegExp.test(strValue)) {
var arrayDate = strValue.split(RegExp.$1); // split date into month,
// day,
// year
var intDay = parseInt(arrayDate[2], 10);
var intYear = parseInt(arrayDate[0], 10);
var intMonth = parseInt(arrayDate[1], 10);
return new Date(intYear, intMonth - 1, intDay);
}
}

/**
*校验email
*/
function checkEmail(thisobj,alertTips){
var partten = /\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/;//匹配Email地址的正则表达式
if(thisobj.value !=null && thisobj.value !="" &&!partten.test(thisobj.value)){
alert("“"+alertTips+"”格式不符!");
thisobj.value = "";
thisobj.focus();
return false;
}
}

//如果是用户类型是自提点操作员,需要给用户选择自提点
function getSincelift(){
    var userType=$("#user_type").find("option:selected").val();
    if(userType==3){
       //alert("你选择的用户类型是自提点操作员!!!");
       $("#dialog-form").dialog("open");
       document.getElementById("tr_sincelift_id").style.display="inline";
       //$("#tr_sincelift_id").attr("display","inline");
       $("#sincelift_id").attr("validate","notNull");
    }else{//如果不是自提点用户,清除自提点的值
       $("#tr_sincelift_id").attr("value","");
       $("#tr_sincelift_name").attr("value","");
       document.getElementById("tr_sincelift_id").style.display="none";
       //$("#tr_sincelift_id").attr("display","none");
       $("#dialog-form").dialog("close");
    }
}
function retBack(){
   var navigatorName = "Microsoft Internet Explorer"; 
   if( navigator.appName == navigatorName ){ 
  javascript:history.go(-2);
   }else{ 
      javascript:history.go(-1);
   }
}
分享到:
评论

相关推荐

    身份证号码验证程序 javascript验证的html文件

    3. **身份证号码验证规则**:中国的身份证号码由18位数字组成,包括地区码、出生日期码、顺序码和校验码。验证时需检查: - 地区码:前6位,代表出生地的行政区域代码。 - 出生日期码:第7位到第14位,表示出生...

    用PB和ORACLE方法实现身份证号升位.pdf

    15位的旧版身份证号码存在“2000年”问题,即无法正确区分公元2000年之后出生的人与1900年代出生的人。为了消除这一歧义并确保数据的准确性,根据国家规定,身份证号码需要升级到18位。在社会保障、养老保险等领域,...

    用于前台验证正则表达式文档

    在前端开发中,正则表达式是进行数据校验的关键技术,确保用户输入的数据符合特定格式,从而提高应用的安全性和用户体验。 1. **正则表达式基础** - **字符类**:用于表示一组字符,如`[abc]`匹配'a'、'b'或'c'。 ...

    一些前台常规的验证

    身份证号码验证则需考虑15位或18位,校验码的计算等。 在实际应用中,前端验证并非万能,因为它可以被绕过,因此后端验证同样重要。前端验证的主要目的是提供即时反馈,提高用户体验,而真正确保数据安全性和完整性...

    员工年龄确认程序文件.pdf

    3、 职责 人事部招聘文员初步核对身份证年龄、真伪,前台文员第二次验证,入职文员最后核实。 4、管理指引 4.1.新面试的员工,招聘、前台及人事文员负责将身份证照片与本人容貌进行核对,确认实 属本人身份证件。 ...

    PHP学生证查询管理系统_职业资格证防伪查询源码

    身份证: 编号: 2.修改方法: 2.1 public/assets/js/frontend 对应的控制器名 public/assets/css public/index/js public/index/css 2.2 前台: application/index目录下 application/index/controller 控制器 ...

    Android开发人员不得不收集的代码

    验证身份证号码15位 isIDCard15 验证身份证号码18位 isIDCard18 验证邮箱 isEmail 验证URL isURL 验证汉字 isChz 验证用户名 isUsername 验证yyyy-MM-dd格式的日期校验,已考虑平闰年 isDate 验证IP地址 isIP string...

    Online-Banking-Service:网上银行源代码

    Java Web网上银行 银行管理系统 ...-①是否是yyyyMMdd格式--②是否出现平年里边存在2月29日⑤重复顺序码--①找到来前17位id--②根据身份证编码规则校验*建立一张身份证区位编码表,验证合法ID --2。姓名合法性

    某通信太原分公司自助卡销售流程培训教材.pptx

    在输入卡号并校验成功后,用户信息可快速填写或通过身份证识别,然后进行激活操作。 **常见问题解答** 培训中应涵盖自助卡销售过程中的常见问题,如实名制认证问题、卡号激活失败、支付问题等,并提供解决方案,...

    精选某通信太原分公司自助卡销售流程培训教材.pptx

    通过输入工号和密码登录客户端后,系统会对卡进行校验,若符合条件则进入用户信息录入页面,用户可使用身份证识别快速填写信息,也可进行修改。 整个自助卡销售流程强调了实名制认证的重要性,同时提供了多渠道的...

    asp.net中button控制先执行js再执行后台程序的方法

    例如,验证用户名、密码、确认密码、身份证号码、手机号码及真实姓名是否合法,是否为空,两次输入的密码是否一致,等等。函数中可以使用各种正则表达式来校验格式。如果验证失败,可以使用`alert`弹出提示信息,并...

Global site tag (gtag.js) - Google Analytics