js 一些使用小例子 ,暂时写这么一点,以后补充
来源:互联网 发布:php允许ajax跨域 编辑:程序博客网 时间:2024/05/16 02:48
/////////////////////////////////////////预防对表单进行多次提交//////////////////////////////////////// 摘录
$(document).ready(function() {
$('form').submit(function() {
if(typeof jQuery.data(this, "disabledOnSubmit") == 'undefined') {
jQuery.data(this, "disabledOnSubmit", { submited: true });
$('input[type=submit], input[type=button]', this).each(function() {
$(this).attr("disabled", "disabled");
});
return true;
}
else
{
return false;
}
});
});
////////////////////////////////////////////////////////////在窗口滚动时自动加载内容//////////////////////////////////////////////////////////////////摘录
var
loading =
false
;
$(window).scroll(
function
(){
if
((($(window).scrollTop()+$(window).height())+250)>=$(document).height()){
if
(loading ==
false
){
loading =
true
;
$(
'#loadingbar'
).css(
"display"
,
"block"
);
$.get(
"load.php?start="
+$(
'#loaded_max'
).val(),
function
(loaded){
$(
'body'
).append(loaded);
$(
'#loaded_max'
).val(parseInt($(
'#loaded_max'
).val())+50);
$(
'#loadingbar'
).css(
"display"
,
"none"
);
loading =
false
;
});
}
}
});
$(document).ready(
function
() {
$(
'#loaded_max'
).val(50);
});
var start=1; //从第一条查询
var end=3; // 到第三条结束 共取3条数据
var page=1; //第一页
$(document).on('scrollstop',function(){ //当滚屏时触发
var offsetTop = $(document).scrollTop(); //返回或设置匹配元素的滚动条的垂直位置
var screenHeight=$(window).height(); //滚动的高
var documentHeight=$(document).height();//获取页面的高
var maxTop=documentHeight-screenHeight; //获取位置的高度
if(offsetTop>=maxTop){ //判断 滚动到底部时候 则为true
++page;//++page 因为 初始化到时候 加载3条数据,所以下次加载为第二页的数据 则++page
var pageCount=count%3>0?(1+num2money(count/3,0)):num2money(count/3,0); // 获取加载页面时 返回的 数据总数,计算共有多少页数据 (当前按每页三条数据计算)
start=start+3; // 每次加载 3条数据
end=end+3; // 每次加载 3条数据
$.mobile.showPageLoadingMsg('a',"",false); //手机加载等待
if(pageCount>=page){ //判断当前页是否小于 总页数 不是则 做完成处理
if(null!=$(".search").html()&&$(".search").html()!="undefined"){
$('.userlist').empty();
$('.userlist').append(strnull);
page=1;
}
$.ajax({
url:$("#findUrl").val(),
data:$("#findcustomerform").serialize()+"&start="+start+"&end="+end,
dataType:"json",
type:"POST",
error:function(){
$.mobile.hidePageLoadingMsg();
},
success:function(data){
for(n=0;n<data.customers.length;n++){
// 此处本人 动态创建 标签及 闻到 在div后面追加 数据
$('.userlist').append(str);
}
$.mobile.hidePageLoadingMsg(); //结束加载
}
});
}else{
page=pageCount+1;
$.mobile.showPageLoadingMsg('a',"加载完成",true);
setTimeout($.mobile.hidePageLoadingMsg(), 1500);
}
}
});
/./////////////////////////////////./////////////////////////////////./////////////////////////////////./////////////////////////////////./////////////////////////////////.////////////////////////////////
1、在js使用parseInt() 时候一定要加上 parseInt(value,10) 否则,像 012 这类数字会当成8进制数字转换
2、jsp 获取服务器时间
<script language="javascript">
var a = new Date()
a = <%=System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")%>;
Response.Write(a)
</script>
3、 // 移除数组指定元素 mywang 2011/8/29 添加注释
Array.prototype.remove=function(obj){
if(obj==""||obj==null){return false;}
for(var i=0;i<this.length;i++){
if(obj==this[i]){
this.splice(i,1);
}
}
} ;
4、//格式化时间(传入值 如: yyyy-MM-dd hh:mm:ss)
Date.prototype.pattern=function(fmt) {
var o = {
"M+" : this.getMonth()+1, //月份
"d+" : this.getDate(), //日
"h+" : this.getHours()%12 == 0 ? 12 : this.getHours()%12, //小时
"H+" : this.getHours(), //小时
"m+" : this.getMinutes(), //分
"s+" : this.getSeconds(), //秒
"q+" : Math.floor((this.getMonth()+3)/3), //季度
"S" : this.getMilliseconds() //毫秒
};
var week = {
"0" : "\u65e5",
"1" : "\u4e00",
"2" : "\u4e8c",
"3" : "\u4e09",
"4" : "\u56db",
"5" : "\u4e94",
"6" : "\u516d"
};
if(/(y+)/.test(fmt)){
fmt=fmt.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length));
}
if(/(E+)/.test(fmt)){
fmt=fmt.replace(RegExp.$1, ((RegExp.$1.length>1) ? (RegExp.$1.length>2 ? "\u661f\u671f" : "\u5468") : "")+week[this.getDay()+""]);
}
for(var k in o){
if(new RegExp("("+ k +")").test(fmt)){
fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length)));
}
}
return fmt;
}
5、3种trim实现
//////////////////////////////////////////////////////////////////////////////
//功能说明:3种trim实现
//////////////////////////////////////////////////////////////////////////////
String.prototype.trim = function() {
return this.replace(/(^\s*)|(\s*$)/g, "");
}
String.prototype.ltrim = function() {
return this.replace(/(^\s*)/g, "");
}
String.prototype.rtrim = function() {
return this.replace(/(\s*$)/g, "");
}
6、截取字符串,长度去掉回车换行
//////////////////////////////////////////////////////////////////////////////
//功能说明:截取字符串,长度去掉回车换行
//////////////////////////////////////////////////////////////////////////////
String.prototype.substrrn = function(length) {
var nrl = 0;
if(this.indexOf("\n") != -1){
nrl = this.match(new RegExp("\n","g")).length;
}
return this.substr(0, length-nrl);
7、判断给定的字是否为中文
//////////////////////////////////////////////////////////////////////////////
//功能说明: 判断给定的字是否为中文
//参数定义: word unicode字符
//////////////////////////////////////////////////////////////////////////////
function isChinese(word) {
var lst = /[u00-uFF]/;
return !lst.test(word);
}
}
8\//////////////////////////////////////////////////////////////////////
///功能说明:验证身份证
///参数定义:value 身份证号码
/////////////////////////////////////////////////////////////////////
function validateCard(value) {
//value=value.trim();
var Y,JYM;
var S,M;
var idcard_array = new Array();
idcard_array = value.split("");
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:"国外"};
if(value!=""&&value.length!=15&&value.length!=18){
return false;
}
if(value!=""&&area[parseInt(value.substr(0,2))]==null){
return false;
}
switch(value.length){
//15位身份证号校验
case 15:
if ( (parseInt(value.substr(6,2))+1900) % 4 == 0 || ((parseInt(value.substr(6,2))+1900) % 100 == 0 && (parseInt(value.substr(6,2))+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(value)){
return false;
}
break;
//18位身份证号校验
case 18:
if ( parseInt(value.substr(6,4)) % 4 == 0 || (parseInt(value.substr(6,4)) % 100 == 0 && parseInt(value.substr(6,4))%4 == 0 )){
//闰年出生日期的合法性正则表达式
ereg=/^[1-9][0-9]{5}(19|20)[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]{1}$/;
} else {
//平年出生日期的合法性正则表达式
ereg=/^[1-9][0-9]{5}(19|20)[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]{1}$/;
}
if(ereg.test(value)){//测试出生日期的合法性
//计算校验位
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);/*判断校验位*/
if(M == idcard_array[17].toUpperCase()){
return true; /*检测ID的校验位false;*/
}
else {
return false;
}
}
else {
return false;
}
break;
default:
return true;
}
}
9、//////////////////////////////////////////////////////////////////////
///功能说明:比较两个日期相差天数
///参数定义:startDate endDate 以 yyyy-MM-dd格式
/////////////////////////////////////////////////////////////////////
function dateDiff(startDate,endDate){
times = startDate.split("-");
date1 = new Date(times[0],times[1]-1,times[2]);
times = endDate.split("-");
date2 = new Date(times[0],times[1]-1,times[2]);
var diffValue = date2.getTime() - date1.getTime();
return parseInt(diffValue/86400000);
}
10、//////////////////////////////////////////////////////////////////////
///功能说明:格式化一个字符串 替换占位符
///参数定义:
var template1="我是{0},今年{1}了";
var template2="我是{name},今年{age}了";
var result1=template1.format("loogn",22);
var result2=template2.format({name:"loogn",age:22});
/////////////////////////////////////////////////////////////////////
String.prototype.format = function(args) {
var result = this;
if (arguments.length > 0) {
if (arguments.length == 1 && typeof (args) == "object") {
for (var key in args) {
if(args[key]!=undefined){
var reg = new RegExp("({" + key + "})", "g");
result = result.replace(reg, args[key]);
}
}
}
else {
for (var i = 0; i < arguments.length; i++) {
if (arguments[i] != undefined) {
var reg = new RegExp("({[" + i + "]})", "g");
result = result.replace(reg, arguments[i]);
}
}
}
}
return result;
}
11、//////////////////////////////////////////////////////////////////////
//将数字转换成逗号分隔的样式,保留两位小数s:value,n:小数位数
function fmoney(s,n)
{
n = n > 0 && n <= 20 ? n : 2;
s = parseFloat((s + "").replace(/[^\d\.-]/g, "")).toFixed(n) + "";
var l = s.split(".")[0].split("").reverse(), r = s.split(".")[1];
t = "";
for (i = 0; i < l.length; i++) {
t += l[i] + ((i + 1) % 3 == 0 && (i + 1) != l.length ? "," : "");
}
return t.split("").reverse().join("") + "." + r;
};
- js 一些使用小例子 ,暂时写这么一点,以后补充
- js中写html,小例子1
- Android:以后等待就这么写吧
- GCD的一点小补充
- 写程序时遇到的一点小知识点,不断补充中……
- javascript 小例子(待补充)
- 使用CUBLAS的一些小例子
- 随便写一点东西,以后整理
- 画图时用到过的一些方法 写的很乱 补充的也需要很多 以后再整理完整
- SQLite的一点学习心得(以后会慢慢补充)
- Vue.js的小例子--随便写的
- 使用jQuery 写的一些小效果
- 使用cocos2d-x 2.0.1 写的进度条例子。 ~~ 以后可以用来做个进度组件
- java一些小例子
- 一些算法小例子
- 使用js操作cookie的一点小收获
- 关于Map和list写的比较烦的一个例子(希望以后可以简化一些)
- 显示中文的小例子 qt4 (补充)
- 查询存贮在表中的XML的结点值。
- Multilingual corpus
- 64位 linux 平台下Oracle 安装文档
- 最老程序员创业札记:全文检索、数据挖掘、推荐引擎应用38
- Google的Dart语言真的能取代JavaScript吗
- js 一些使用小例子 ,暂时写这么一点,以后补充
- 什么是Node?
- 改 主机名 后 虚拟机 不能启动
- Think Diffrent
- android布局查看器-HierarchyView.bat
- Oracle 修改本地默认的实例名方法
- popwindow 大全
- jQuery插件开发全解析
- jQuery.extend 函数详解