`
cheneyph
  • 浏览: 292648 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论
收藏列表
标题 标签 来源
js判断是http还是https javascript
<!-- CNZZ tracking code begin. -->
<script type="text/javascript">
// unescape() 函数可对通过 escape() 编码的字符串进行解码。
var cnzz_protocol = (("https:" == document.location.protocol) ? " https://" : " http://");
document.write(unescape("%3Cspan id='cnzz_stat_icon_1254736152'%3E%3C/span%3E%3Cscript src='" + cnzz_protocol + "s11.cnzz.com/stat.php%3Fid%3D1254736152%26show%3Dpic' type='text/javascript'%3E%3C/script%3E"));
</script>
<!--CNZZ tracking code end. -->

<!-- Gridsum tracking code begin. -->
<script type='text/javascript'>
    (function () {
        var s = document.createElement('script');
        s.type = 'text/javascript';
        s.async = true;
        s.src = (location.protocol == 'https:' ? 'https://ssl.' : 'http://static.') + 'gridsumdissector.com/js/Clients/GWD-002432-09B92C/gs.js';
        var    firstScript = document.getElementsByTagName('script')[0];
        firstScript.parentNode.insertBefore(s, firstScript);
    })();
</script>
<!--Gridsum tracking code end. -->
JSON表达式取值 javascript
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>JSON eval</title>
</head>
<body>
<script type="text/javascript" src="../../lib/jeasyui/jquery.min.js"></script>
<script type="text/javascript">
var json = {"k1":"123", "k2":"属性操作", "k3":"fda"};
// 有大小写区分
console.log(eval("json.k1"));
console.log(eval("json.K1"));	// undefined 
console.log(eval("json.k2"));
console.log(eval("jSon.k2"));	// SCRIPT5009: “jSon”未定义 
</script>
</body>
</html>
javascript stopPropagation() 方法 javascript stopPropagation() 方法
定义和用法
不再派发事件。
终止事件在传播过程的捕获、目标处理或起泡阶段进一步传播。调用该方法后,该节点上处理该事件的处理程序将被调用,事件不再被分派到其他节点。

语法
event.stopPropagation()

说明
该方法将停止事件的传播,阻止它被分派到其他 Document 节点。在事件传播的任何阶段都可以调用它。注意,虽然该方法不能阻止同一个 Document 节点上的其他事件句柄被调用,但是它可以阻止把事件分派到其他节点。
JavaScript Array扩展 javascript
$(document).ready(function(){
	/**
	 * 在数组中搜索指定的值。 indexOf返回第一个匹配项的索引;如果找不到指定的值,则为 -1。
	 * array1.indexOf(searchElement[, fromIndex]),fromIndex 可选。 用于开始搜索的数组索引。 如果省略 fromIndex,则从索引 0 处开始搜索。
	 * https://msdn.microsoft.com/zh-cn/library/ie/ff679977(v=vs.94).aspx
	 * 但低版本浏览器,如IE6、IE7等,Array不支持indexOf方法,需扩展。此处的扩展不支持fromIndex设置
	 */
	if(!Array.prototype.indexOf){
		Array.prototype.indexOf = function(val){
		   var value = this;
		   for(var i =0; i < value.length; i++){
		      if(value[i] == val) return i;
		   }
		   return -1;
		};
	}
});
JavaScript String扩展 javascript
/**
* 去掉字符两端的空白字符
* 功能同$.trim(string) 
*/
String.prototype.trim = function() {
	return this.replace(/^\s*(.*?)[\s\n]*$/g, '');
};

/** 
 * 判断是否手机号
 */
String.prototype.validMobile = function(){
	if(null == this || this == '') return false;
	var reg = /^((13)|(14)|(15)|(17)|(18))\d{9}$/;
	return reg.test(this);
};

String.prototype.validCompanyTel = function() {
	var reg = /^\d{3,5}-\d{7,9}|\d{3,5}-\d{7,9}-\d{1,6}$/;
	return reg.test(this);
};

String.prototype.validEmail = function() {
	var reg = /^(.)+@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]{2,3}){1,2})$/;
    return reg.test(this);
};

/**
* 反转字符串<br>
* eg: 'abc'.reverse() -> 'cba'
*/
String.prototype.reverse = function() {
	if (!this) return '';
	var a = (this + '').split('');
	a.reverse();
	return a.join('');
};

/**
* 返回替换后的字符串<br>
*/
String.prototype.replaceAll  = function(s1,s2){  
	return this.replace(new RegExp(s1,"gm"),s2);   //这里的gm是固定的,g可能表示global,m可能表示multiple。
};

/**
* 字符串转日期函数
* 支持格式:
* 1、xxxx-xx-xx xx:xx:xx
* 2、xxxx.xx.xx xx:xx:xx
* 3、xxxx年xx月xx日 xx时xx分xx秒
* 4、xxxx/xx/xx xx:xx:xx
*/
String.prototype.toDate = function(){
	var regExp1 = /^\d{4}-\d{1,2}-\d{1,2}( \d{1,2}:\d{1,2}:\d{1,2})?$/; 
	var regExp2 = /^\d{4}\.\d{1,2}\.\d{1,2}( \d{1,2}:\d{1,2}:\d{1,2})?$/; 
	var regExp3 = /^\d{4}年\d{1,2}月\d{1,2}日( \d{1,2}时\d{1,2}分\d{1,2}秒)?$/;
	var regExp4 = /^\d{4}[\/]\d{1,2}[\/]\d{1,2}( \d{1,2}:\d{1,2}:\d{1,2})?$/; 
	
	var dateString = this;
	if (regExp1.test(this)) {
	} else if (regExp2.test(this)) {
		dateString = this.replace(/\./g, "-");
	} else if (regExp3.test(this)) {
		dateString = this.replace("年", "-").replace("月", "-").replace("日", "").replace("时", ":").replace("分", ":").replace("秒", "");
	} else if (regExp4.test(this)){
		var temp_array = this.split("/");
		if(null != temp_array && temp_array.length > 0){
			var temp_str = '';
			for ( var int = 0; int < temp_array.length - 1; int++) {
				temp_str = temp_str + temp_array[int] + '-';
			}
			temp_str = temp_str + temp_array[temp_array.length - 1];
			dateString = temp_str;
		}
	}else{
		var msg = '字符串格式不支持转换为日期对像';
		alert(msg);
		throw msg;
	}
	var date_time = dateString.split(" ");
	var date_part = date_time[0].split("-");
	var time_part = (date_time.length > 1 ? date_time[1].split(":") : "");
	if (time_part == "") {
		return new Date(date_part[0], date_part[1] - 1, date_part[2]);
	} else {
		return new Date(date_part[0], date_part[1] - 1, date_part[2],
				time_part[0], time_part[1], time_part[2]);
	}
};

/** 
 * 字符串true or false转boolean型,其他字符串返回原值
 * 不区分大小写
 */  
String.prototype.convertToBoolean = function() {  
	// (v.toLocaleLowerCase() == "true" || v.toLocaleLowerCase() == "false") ? v.toLocaleLowerCase() == "true" : v;
    return (this.toLocaleLowerCase() == "true" || this.toLocaleLowerCase() == "false") ? this.toLocaleLowerCase() == "true" : this;
}; 
JavaScript Date扩展_日期计算 javascript
Date.prototype.addDays = function(d) {
	this.setDate(this.getDate() + d);
	return this;
};
Date.prototype.addWeeks = function(w) {
	this.addDays(w * 7);
	return this;
};
Date.prototype.addMonths = function(m) {
	var d = this.getDate();
	this.setMonth(this.getMonth() + m);
	if (this.getDate() < d)
		this.setDate(0);
	return this;
};
Date.prototype.addYears = function(y) {
	var m = this.getMonth();
	this.setFullYear(this.getFullYear() + y);
	if (m < this.getMonth()) {
		this.setDate(0);
	}
	return this;
};
/** 日期月份的第一天 */
Date.prototype.firstDate = function(){
	this.setDate(1);
	return this;
};
/** 日期月份的最后一天 */
Date.prototype.lastDate = function(){
	this.setMonth(this.getMonth() + 1);
	this.setDate(0);
	return this;
};

/**
* 日期间隔
* 默认与当前日期计算日差
* endTime - this
* interval可取值:
* s - 秒
* m - 分
* h - 时
* d - 日
* w - 周
* M - 月
* y - 年
*/
Date.prototype.diff = function(endTime, interval) {
	if(null == interval || interval == undefined) return this.dateDiff(endTime, 'd');
	if(null == endTime || endTime == undefined) return this.dateDiff(new Date(), interval);
	// 只有一个参数,且为间隔单位
	if(endTime instanceof Date == false) return this.dateDiff(new Date(), endTime);
	switch (interval) {
	case "s": // 计算秒差
		return parseInt((endTime - this) / 1000);
	case "m": // 计算分差
		return parseInt((endTime - this) / 60000);
	case "h": // 计算时差
		return parseInt((endTime - this) / 3600000);
	case "d": // 计算日差
		return parseInt((endTime - this) / 86400000);
	case "w": // 计算周差
		return parseInt((endTime - this) / (86400000 * 7));
	case "M": // 计算月差
		return (endTime.getMonth() + 1)
				+ ((endTime.getFullYear() - this.getFullYear()) * 12)
				- (this.getMonth() + 1);
	case "y": // 计算年差
		return endTime.getFullYear() - this.getFullYear();
	default: // 输入有誤
		return undefined;
	}
};
JavaScript Date扩展_格式化 javascript
/**
 * 对Date的扩展,将 Date 转化为指定格式的String
 * 月(M)、日(d)、12小时(h)、24小时(H)、分(m)、秒(s)、周(E)、季度(q) 可以用 1-2 个占位符
 * 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字)
 * eg:
 * (new Date()).format("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423
 * (new Date()).format("yyyy-MM-dd E HH:mm:ss") ==> 2009-03-10 二 20:09:04
 * (new Date()).format("yyyy-MM-dd EE hh:mm:ss") ==> 2009-03-10 周二 08:09:04
 * (new Date()).format("yyyy-MM-dd EEE hh:mm:ss") ==> 2009-03-10 星期二 08:09:04
 * (new Date()).format("yyyy-M-d h:m:s.S") ==> 2006-7-2 8:9:4.18
 */
Date.prototype.format=function(fmt) {
	if(null == fmt || fmt == undefined){
		fmt = "yyyy-MM-dd";
	}
	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;
};
Global site tag (gtag.js) - Google Analytics