<script type="text/javascript">
// 说明:用 Javascript 获取滚动条位置等信息
function getScroll() {
var t, l, w, h;
if (document.documentElement && document.documentElement.scrollTop) {
t = document.documentElement.scrollTop;
l = document.documentElement.scrollLeft;
w = document.documentElement.scrollWidth;
h = document.documentElement.scrollHeight;
} else if (document.body) {
t = document.body.scrollTop;
l = document.body.scrollLeft;
w = document.body.scrollWidth;
h = document.body.scrollHeight;
}
return { t: t, l: l, w: w, h: h };
}
</script>
//*****************************************************************************
<script type="text/javascript">
// 说明 :用 Javascript 实现锚点(Anchor)间平滑跳转
// 网址 :http://www.codebit.cn
// 转换为数字
function intval(v) {
v = parseInt(v);
return isNaN(v) ? 0 : v;
}
// 获取元素信息
function getPos(e) {
var l = 0; var t = 0;
var w = intval(e.style.width);
var h = intval(e.style.height);
var wb = e.offsetWidth;
var hb = e.offsetHeight;
while (e.offsetParent){
l += e.offsetLeft + (e.currentStyle?intval(e.currentStyle.borderLeftWidth):0);
t += e.offsetTop + (e.currentStyle?intval(e.currentStyle.borderTopWidth):0);
e = e.offsetParent;
}
l += e.offsetLeft + (e.currentStyle?intval(e.currentStyle.borderLeftWidth):0);
t += e.offsetTop + (e.currentStyle?intval(e.currentStyle.borderTopWidth):0);
return {x:l, y:t, w:w, h:h, wb:wb, hb:hb};
}
// 获取滚动条信息
function getScroll() {
var t, l, w, h;
if (document.documentElement && document.documentElement.scrollTop) {
t = document.documentElement.scrollTop;
l = document.documentElement.scrollLeft;
w = document.documentElement.scrollWidth;
h = document.documentElement.scrollHeight;
} else if (document.body) {
t = document.body.scrollTop;
l = document.body.scrollLeft;
w = document.body.scrollWidth;
h = document.body.scrollHeight;
}
return { t: t, l: l, w: w, h: h };
}
// 锚点(Anchor)间平滑跳转
function scroller(el, duration) {
if(typeof el != 'object') {
el = document.getElementById(el);
}
if(!el) return;
var z = this;
z.el = el;
z.p = getPos(el);
z.s = getScroll();
z.clear = function(){
window.clearInterval(z.timer);
z.timer=null
};
z.t=(new Date).getTime();
z.step = function(){
var t = (new Date).getTime();
var p = (t - z.t) / duration;
if (t >= duration + z.t) {
z.clear();
window.setTimeout(function(){z.scroll(z.p.y, z.p.x)},13);
} else {
st = ((-Math.cos(p*Math.PI)/2) + 0.5) * (z.p.y-z.s.t) + z.s.t;
sl = ((-Math.cos(p*Math.PI)/2) + 0.5) * (z.p.x-z.s.l) + z.s.l;
z.scroll(st, sl);
}
};
z.scroll = function (t, l){window.scrollTo(l, t)};
z.timer = window.setInterval(function(){z.step();},13);
}
</script>
调用方法:
scroller(el, duration)
el : 目标锚点 ID
duration : 持续时间,以毫秒为单位,越小越快
//***************************************
function checkIdcard(idcard){
var Errors=new Array("","身份证号码位数不对!","身份证号码出生日期超出范围或含有非法字符!","身份证号码校验错误!","身份证地区非法!" );
var area={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 Y, JYM;
var S, M;
var idcard_array = new Array();
idcard_array = idcard.split("");
//地区检验
if (area[parseInt(idcard.substr(0, 2))] == null) {
return Errors[4];
}
//身份号码位数及格式检验
var year = parseInt(idcard.substr(6, 2));
switch (idcard.length) {
case 15:
if ((year + 1900) % 4 == 0 || ((year + 1900) % 100 == 0 && (year + 1900) % 4 == 0)) {
ereg = /^[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}$/;//测试出生日期的合法性
} else {
ereg = /^[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}$/;//测试出生日期的合法性
}
if (ereg.test(idcard)) {
return Errors[0];
} else {
return Errors[2];
}
break;
case 18:
//18位身份号码检测
//出生日期的合法性检查
if (year % 4 == 0 || (year % 100 == 0 && year % 4 == 0)) {
ereg = /^[1-9][0-9]{5}19[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}[0-9Xx]$/;//闰年出生日期的合法性正则表达式
} else {
ereg = /^[1-9][0-9]{5}19[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}[0-9Xx]$/;//平年出生日期的合法性正则表达式
}
if (ereg.test(idcard)) {//测试出生日期的合法性
//计算校验位
S = (parseInt(idcard_array[0]) + parseInt(idcard_array[10])) * 7 + (parseInt(idcard_array[1]) + parseInt(idcard_array[11])) * 9 + (parseInt(idcard_array[2]) + parseInt(idcard_array[12])) * 10 + (parseInt(idcard_array[3]) + parseInt(idcard_array[13])) * 5 + (parseInt(idcard_array[4]) + parseInt(idcard_array[14])) * 8 + (parseInt(idcard_array[5]) + parseInt(idcard_array[15])) * 4 + (parseInt(idcard_array[6]) + parseInt(idcard_array[16])) * 2 + parseInt(idcard_array[7]) * 1 + parseInt(idcard_array[8]) * 6 + parseInt(idcard_array[9]) * 3;
Y = S % 11;
M = "F";
JYM = "10X98765432";
M = JYM.substr(Y, 1);//判断校验位 //检测ID的校验位
if (M == idcard_array[17]) {
return Errors[0];
} else {
return Errors[3];
}
} else {
return Errors[2];
}
break;
default:
return Errors[1];
break;
}
return "";
}
分享到:
相关推荐
17.8 窗体滚动条随文字增加自动滚动 17.9 为textarea加横向滚动条 17.10 记录滚动条位置 17.11 彩色滚动条 17.12 Windows XP的滚动条 第18章 在线考题案例 18.1 在线考试代码 18.2 在线考试代码(二) 18.3 在线测试...
17.8 窗体滚动条随文字增加自动滚动 17.9 为textarea加横向滚动条 17.10 记录滚动条位置 17.11 彩色滚动条 17.12 Windows XP的滚动条 第18章 在线考题案例 18.1 在线考试代码 18.2 在线考试代码(二) 18.3 在线测试...
5. 滚动条跟随:页面滚动时,侧边栏导航或固定元素始终保持可见。 6. 自定义表单动画:如输入框获取焦点时的边框变化,按钮点击后的加载动画等。 7. 倒计时和实时钟:实时更新日期或时间,常用于活动倒计时或显示...
实例043 应用JavaScript实现指定尺寸无边框无滚动条窗口 67 1.8 水平导航条应用 69 实例044 图片按钮导航条 69 实例045 导航条的动画效果 71 实例046 不用图片实现质感导航条 72 1.9 下拉菜单式导航条 73 实例047 二...
- 使用 `window.open` 创建一个全屏窗口,根据屏幕可用宽度和高度设置窗口大小,并添加其他配置如工具栏禁用、可滚动条等。 3. **XML处理**: - `initialize` 函数展示了如何使用ActiveXObject处理XML和XSLT。它...
`**:文本区域超出时自动显示滚动条。 ##### 3. 表单元素 表单中的每个元素都有特定的属性,例如: - **`名字只允许中文字符">`** - **`name="Name"`**:表单元素名称。 - **`dataType="Chinese"`**:指定数据...
B) {alert("输入的身份证号 "+ a[0] +" 里出生日期不对!"); return false;} } return true; } 3.7 复选框的全选,多选,全不选,反选 ('mm')">全选 ('All')"> ('All')"> ('All')"> ('All...
在实际应用中,用户输入的关键字、手机号、身份证等查询参数在点击搜索按钮后都会被传到后端。这些参数包括分页信息,例如当前页码(`page`)和每页显示条数(`limit`),这两个值也会在后端进行处理。 最后,文章...
前端记录 JavaScript Moment JS开发技巧篇 ...ScrollView-Scrollbar(隐藏滚动条) H5 webkit-line-clamp Git Git常用命令 Git常见报错 Tools IDCard(根据身份证获取基本信息) Time(转换对象mom
内容超出一屏的时候,文章列表右边就会出现滚动条,这样也太丑了吧。那如何能让这个滚动条不出现呢,那就是让它隐藏掉。通过在全局样式中设置scroll隐藏,这样就好看多了。::-webkit-scrollbar{ height: 0; ...
优化 IE6 兼容性若干问题(打开窗口空白、页面滚动条、右下角小提示变形等) 优化 为部分现代浏览器增加 CSS3 效果,例如圆角、阴影等 优化 后台操作窗口拖动不流畅的问题,以及窗口随屏幕尺寸自适应的问题 优化 ...
企业logo,企业形象图片,企业简介,企业版权信息,企业名称,商机列表,产品展示(产品中心上下翻页图片展示,首页滚动显示图片),产品分类(企业产品自助分类),企业新闻列表,企业联系方式,企业招聘信息,客户...