Javascript功能扩展
程序员文章站
2023-12-22 12:21:52
...
//使用:'我是{},今年{}'.format('张三','18');输出:我是张三,今年18
//方便进行日志输出或者其他字符格式化
String.prototype.format= function(){
//将arguments转化为数组(ES5中并非严格的数组)
var args = Array.prototype.slice.call(arguments);
var count=0;
//通过正则替换%s
return this.replace(/{}/g,function(s,i){
return args[count++];
});
}
//日期格式化:new Date().format('yyyy-MM-dd hh:mm:ss')
Date.prototype.format = function(format) {
var date = {
"M+": this.getMonth() + 1,
"d+": this.getDate(),
"h+": this.getHours(),
"m+": this.getMinutes(),
"s+": this.getSeconds(),
"q+": Math.floor((this.getMonth() + 3) / 3),
"S+": this.getMilliseconds()
};
if (/(y+)/i.test(format)) {
format = format.replace(RegExp.$1, (this.getFullYear() + '').substr(4 - RegExp.$1.length));
}
for (var k in date) {
if (new RegExp("(" + k + ")").test(format)) {
format = format.replace(RegExp.$1, RegExp.$1.length == 1
? date[k] : ("00" + date[k]).substr(("" + date[k]).length));
}
}
return format;
}
//form表单转json:$("#form01").toJSON();返回json对象
$.fn.toJSON = function()
{
var o = {};
var a = this.serializeArray();
$.each(a, function() {
var name = this.name;
var value = this.value;
var paths = this.name.split(".");
var len = paths.length;
var obj = o;
$.each(paths,function(i,e){
if(i == len-1){
if (obj[e]) {
if (!obj[e].push) {
obj[e] = [obj[e]];
}
obj[e].push(value || '');
} else {
obj[e] = value || '';
}
}else{
if(!obj[e]){
obj[e] = {};
}
}
obj = o[e];
});
});
return o;
};
// 清除两边的空格
String.prototype.trim = function() {
return this.replace(/(^\s*)|(\s*$)/g, '');
};
// 保留数字
String.prototype.getNum = function() {
var regEx = /[^\d]/g;
return this.replace(regEx, '');
};
// 保留中文
String.prototype.getCN = function() {
var regEx = /[^\u4e00-\u9fa5\uf900-\ufa2d]/g;
return this.replace(regEx, '');
};
//替换所有
String.prototype.replaceAll = function(reallyDo, replaceWith, ignoreCase) {
if (!RegExp.prototype.isPrototypeOf(reallyDo)) {
return this.replace(new RegExp(reallyDo, (ignoreCase ? "gi" : "g")), replaceWith);
} else {
return this.replace(reallyDo, replaceWith);
}
};
//测试是否是数字
String.prototype.isNumeric = function() {
var tmpFloat = parseFloat(this);
if (isNaN(tmpFloat))
return false;
var tmpLen = this.length - tmpFloat.toString().length;
return tmpFloat + "0".Repeat(tmpLen) == this;
}
//测试是否是整数
String.prototype.isInt = function() {
if (this == "NaN")
return false;
return this == parseInt(this).toString();
}
自学或者进阶前端的话,可以关注公众号:web前端研究中心
关注后回复关键字:教程
可以免费领取价值几千元的****,里面的内容还会持续更新的
推荐阅读
-
python数据库操作常用功能使用详解(创建表/插入数据/获取数据)
-
language = "JavaScript"和 type="JavaScript “ 区别
-
在Javascript中使用String.startsWith和endsWith
-
重大更新:[附UC黑莓版下载]全国首发: UC浏览器黑莓专用版大量截图及功能曝
-
如何安装PHP扩展libzookeeper
-
利用Javascript判断操作系统的类型实现不同操作系统下的兼容性_javascript技巧
-
JavaScript异步编程Promise模式的6个特性_javascript技巧
-
Javascript功能扩展
-
js实现延时加载Flash的方法_javascript技巧
-
一份老外写的XMLHttpRequest代码多浏览器支持兼容性_javascript技巧