js常用功能汇总
var Utils = function() {
this.Tools;
this.ui;
};
Utils = new Utils();
Utils.prototype.Tools = {
year:'',
month:'',
day:'',
week:'',
time:'',
hours:'',
minute:'',
second:'',
weeks:['星期日','星期一','星期二','星期三','星期四','星期五','星期六'],
/**
* 获取当前用户使用的浏览器类型
* @returns
*/
browserVersion:function(){
var explorer = window.navigator.userAgent;
if (explorer.indexOf("MSIE") >= 0) {// ie10及以下
var b_version = navigator.appVersion;
var version = b_version.split(";");
version = version[1].replace(/[ ]/g, "");
version = version.split('MSIE')[1];
browser = 'IE:' + version;
} else if (explorer.indexOf("Firefox") >= 0) {// Firefox
browser = 'Firefox';
} else if (explorer.indexOf("Chrome") >= 0) {// Chrome
browser = 'Chrome';
} else if (explorer.indexOf("Opera") >= 0) {// Opera
browser = 'Opera';
} else if (explorer.indexOf("Safari") >= 0) {// Safari
browser = 'Safari';
} else if (explorer.indexOf("Trident/7.0") >= 0) {// IE11
browser = 'IE:10.0以上';
}
return borwser;
},
strFormatDate : function(param) {
var months=['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Setp','Oct','Nov','Dec'];
var weeks=['Mon','Tue','Wed','Thu','Fri','Sat','Sun'];
var date=param.split(" ");
var browser= new Utils().browserVersion();
if(browser=='Chrome'||browser=='Firefox'||browser=='IE:10.0以上'){
this.year=date[3];
this.month=months[date[1]];
this.day=date[2];
this.time=date[4];
this.week=date[weeks[0]];
return this.year+"年"+this.month+"月"+this.day+"日 "+this.time;
}else if(browser=='IE:10'||browser=='IE:9'||browser=='IE:8'){
this.year=date[5];
this.month=months[date[1]];
this.day=date[2];
this.time=date[3];
this.week=date[weeks[0]];
return this.year+"年"+this.month+"月"+this.day+"日 "+this.time;
}
},
/**
*
* @param date
* @returns {String}
*/
DateFormatDate:function(date){
this.year=date.getFullYear();
this.month=date.getMonth()+1;
this.day=date.getDate();
this.hours=date.getHours();
this.minute=date.getMinutes();
this.second=date.getSeconds();
this.week=date.getDay();
return this.year+"年"+this.month+"月"+this.day+"日 "+this.hours+":"+this.minute+":"+this.second+" 星期"+this.weeks[this.week];
},
/**
* 解决浏览器地址栏乱码问题
* @param strParame 参数名称
* @returns
*/
formatUrlParam:function(strParame){
var args = new Object();
var query = location.search.substring(1); // Get query string
var pairs = query.split("&"); // Break at ampersand
for ( var i = 0; i < pairs.length; i++) {
var pos = pairs[i].indexOf('='); // Look for "name=value"
if (pos == -1)
continue; // If not found, skip
var argname = pairs[i].substring(0, pos); // Extract the name
var value = pairs[i].substring(pos + 1); // Extract the value
value = decodeURIComponent(value); // Decode it, if needed
args[argname] = value; // Store as a property
}
return args[strParame]; // Return the object
},
/**
* 获取选中复选框的值
* @param checkBoxName checkbox的name
* @returns {String}
*/
multipleChoiceCheckBox:function(checkBoxName){
var content='';
var serids =document.getElementsByName(checkBoxName);
for(var i=0;i<serids.length;i++){
if(serids[i].checked){
content+=serids[i].value+",";
}
}
content=content.substr(0,content.length-1);
return content;
},
/**
* 复选框--反选
* @param checkBoxName checkbox的name
* @param parentName 控制反选按钮的id
*/
reverseFlotationCheckBox:function(checkBoxName,parentName)
var bool=$("#"+parentName).attr("checked");
var serids =document.getElementsByName(checkBoxName);
if(bool){
for(var i=0;i<serids.length;i++){
serids[i].checked=true;
}
}else{
for(var i=0;i<serids.length;i++){
serids[i].checked=false;
}
}
},
/**
* 复选框--全选
* @param checkBoxName checkbox的name
* @param parentName 控制反选按钮的id
*/
checkAllCheckBox:function(checkBoxName,parentName){
var serids =document.getElementsByName(checkBoxName);
var bool=$("#"+parentName).attr("checked");
if(bool){
for(var i=0;i<serids.length;i++){
serids[i].checked=true;
}
}else{
for(var i=0;i<serids.length;i++){
serids[i].checked=false;
}
}
},
addOption:function(id,path,defaultValue){
//给select添加选项
$("#"+id).empty();
$.ajax({
url: path,
type: "POST",
data:'type=gfType',
dataType: "json",
async: false,
success: function(results) {
for(var i=0;i<results.length;i++) {
if(results[i].id == defaultValue) {
html += "<option value='" + results[i].id + "' selected>" + results[i].codename + "</option>";
} else {
html += "<option value='" + results[i].id + "'>" + results[i].codename + "</option>";
}
}
$("#"+id).append(html);
},
error: function(e) {
YMLib.Tools.showPrompt("!-logo", "系统错误!请联系管理员!", 5000);
}
});
},
/**
*获取字符串字节数
*/
GetStringByteLength:function(val){
var Zhlength=0;// 全角
var Enlength=0;// 半角
for(var i=0;i<val.length;i++){
if(val.substring(i, i + 1).match(/[^\x00-\xff]/ig) != null)
Zhlength+=1;
else
Enlength+=1;
}
// 返回当前字符串字节长度
return (Zhlength*2)+Enlength;
},
//js实现返回顶部
BackToTop:function(){
$("body,html").animate({scrollTop:0},1000);
},
/**
*复制到粘贴板
*/
copyToShearPlate:function(){
$('.content').click(function(){
$(this).select();
});
//设置swf路径
ZeroClipboard.setMoviePath("ZeroClipboard.swf");
//创建对象
var clip = new ZeroClipboard.Client();
//设置手型
clip.setHandCursor(true);
//绑定按钮(目标对象id)
clip.glue('copy_btn');
//复制内容
clip.addEventListener( "mouseOver", function(client) {
client.setText($('#content').text());
});
//复制成功后的提示
clip.addEventListener( "complete", function(){
alert("copyed successful");
});
},
/**
*判断是否是正确的url地址
*/
IsURL:function(str_url) {
var strRegex = "^((https|http|ftp|rtsp|mms)?://)"
"?(([0-9a-z_!~*'().= $%-] : )?[0-9a-z_!~*'().= $%-] @)?" //ftp的user@
"(([0-9]{1,3}\.){3}[0-9]{1,3}" // IP形式的URL- 199.194.52.184
"|" // 允许IP和DOMAIN(域名)
"([0-9a-z_!~*'()-] \.)*" // 域名- www.
"([0-9a-z][0-9a-z-]{0,61})?[0-9a-z]\." // 二级域名
"[a-z]{2,6})" // first level domain- .com or .museum
"(:[0-9]{1,4})?" // 端口- :80
"((/?)|" // a slash isn't required if there is no file name
"(/[0-9a-z_!~*'().;?:@= $,%#-] ) /?)$";
var re=new RegExp(strRegex);
//re.test()
if (re.test(str_url)){
return (true);
}else{
return (false);
}
},
setValueUeditor:function(){
//当editor创建完毕,给editor设置内容
UE.getEditor('solution').ready(function(){
UE.getEditor('solution').setContent(obj.solution);
});
}
};
Utils.prototype.ui = {
/*
*拼接表格
* @param source 格式如下:
{
"qlmc":"桥梁名称",
"qldm":"桥梁代码",
"qlzxzh":"桥梁中心桩号",
"qlkjfl":"桥梁跨径分类",
"xzqhbm":"行政区划编码",
"lxmc":"路线名称",
"lxbm":"路线代码"
}
* @param tableId 表格id
* @param path 请求地址
*
*/
joinTable:function(source,tableId,path){
field="[[{field: 'ck', checkbox: true},";
var source=data.data;
for(var key in source){
field+="{field: '"+key+"', title:'"+source[key]+"', width: 100, align: 'center'},";
}
field=field.substr(0,field.length-1);
field+="]]";
field = eval(field);
$('#'+tableId).datagrid({
border: false,
fit: true,
fitColumns: true,
rownumbers: true,
pagination: true,
striped: true,
singleSelect: false,
selectOnCheck: true,
checkOnSelect: true,
url: path,
columns:field
});
},
/*
*表格自适应高度
* @param tb_div table 所在div的id
* @param tableId table id
* @param path 请求地址
*
*/
autoHeight:function(tb_div,tableId,path){
var pageSize=Math.floor($('#'+tb_div).height()/40)-1;
$('#'+tableId).datagrid({
fit : true,
fitColumns : true,
loadMsg : '正在加载数据,请稍候...',
url : path,
rownumbers : true,
autoRowHeight : false,
striped : true,
pagination : true,
pageSize : pageSize,
pageList : [ pageSize, pageSize*2, pageSize*3 ],
rowStyler:function(index,row){
return "height:50px;line-height:50px";
}
});
}
}
//正则 去除目标对象中的图片
//return param.replace(/\<img([^>]*)>/gim,"");
//去除目标对象的前后空格
//.replace(/^\s+|\s+$/g, '')
//邮箱验证方法
//if(/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/.test(value)){
//flag=true;
//}
//手机号和座机的验证方法
//if((/^1[3|5|8]\d{9}$/.test(value)) || (/^0\d{2,3}-?\d{7,8}$/.test(value))){
//flag=true;
//}
//清除指定字符中的html标签
//describe = datas[i].describe.replace(/<[^>].*?>/g,'');
//判断指定字符串是否包含汉字
//(/[\u4e00-\u9fa5]+/).test(describe)
/**
* 通过restClient将url转换成json数据.
*
* @param url 需要转换的url
* @return 返回json
*/
//public String parseServiceUri(String url){
//RestClient client = new RestClient();
// HttpServletRequest request=((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
// String path = request.getContextPath();
// String basePath = request.getScheme() + "://"+ request.getServerName() + ":" + request.getServerPort()+ path + "/";
// org.apache.wink.client.Resource resource = client.resource("http://192.168.0.250:6080/"+url);
//org.apache.wink.client.Resource resource = client.resource(url);
//String response = resource.accept(MediaType.APPLICATION_JSON).get(String.class);
//return response;
}
//参数乱码
//new String(((String)map.get("name")).getBytes("ISO-8859-1"), "UTF-8")
js常用功能汇总的更多相关文章
- Hbuilder常用功能汇总
引用 样式表: mui.min.css Js:mui.min.js 常用功能 获取页面 var webView=plus.webview.currentWebview();//获取当前页 var we ...
- JS 常用功能收集
JS 常用效果收集 1. 回到顶部>> 爱词霸
- js 常用功能实现(函数)
1.10 个短小实用的代码片段 :https://www.jianshu.com/p/3ef822ec5a63 2.js常用函数 : https://www.cnblogs.com/wangyuyu ...
- js - 常用功能方法汇总(updating...)
一.查值的类型(可用于拷贝) /* * @Author: guojufeng@ * @Date: 2017-12-20 15:07:06 * @purpose 获取一个值的类型 * @param {v ...
- js常用正则表达式汇总
常用的前台正则表达式汇总. 1.手机号验证 手机格式以1开头,现有的手机格式一般为13.14.15.17.18等 var regMobile = /^1[34578]\d{9}$/; //或者为/^1 ...
- JS 常用库汇总收集
本文不定期更新, 用于汇总记录一些看着 ok 的 JS 库. 库名 简介 项目地址 macy.js 仅 4 kb的 原生 流布局插件 http://macyjs.com/ Driver.js 仅 4 ...
- js常用函数汇总(不定期更新)
1.图片按比例压缩 function setImgSize(){ var outbox_w=imgbox.width(), outbox_h=imgbox.height(); imgbox.find( ...
- Vue.js常用指令汇总(v-if//v-show//v-else//v-for//v-bind//v-on等)
有时候指令太多会造成记错.记混的问题,所以本文在记忆的时候会采用穿插记忆的方式,交叉比对,不易出错. 本文主要讲了一下六个指令: v-if//v-show//v-else//v-for//v-bind ...
- Idea 常用功能汇总,工作中常用技巧
1.隐藏没用到的文件 比如 IDEA 的项目配置文件(.iml 和.idea),打开 Settings-File Types, 加入要隐藏的文件后缀. 2.常用技巧 2.1 通过Alt+F8查看变量 ...
随机推荐
- 一些实用的linux命令
一直在用linux,可linux下的命令还是用得不是很熟悉,记录一下比较有用命令: ``和$()是一样的,都是用指令的执行结果来替换. linux下 echo hello world => ...
- java gui 下拉框中项删除按钮
http://www.cnblogs.com/kangls/archive/2013/03/21/2972943.html http://m.blog.csdn.net/blog/ycb1689/74 ...
- Tomcat 配置 HTTPS双向认证
Tomcat 配置 HTTPS 双向认证指引说明: � 本文档仅提供 Linux 操作系统下的指引 � 在阅读本指引前请您在 Linux 部署 JDK 和 Tomcatserver为了 Tomcat ...
- 每天一个 Linux 命令(6):rmdir 命令
今天学习一下linux中命令: rmdir命令.rmdir是常用的命令,该命令的功能是删除空目录,一个目录被删除之前必须是空的.(注意,rm – r dir命令可代替rmdir,但是有很大危险性.)删 ...
- SQL%NOTFOUND
异常相关: 源地址:https://zhidao.baidu.com/question/215737667.html EXCEPTIONwhen others thenrollback;dbms_ou ...
- [HTML] CSS 渐变
CSS3 渐变 CSS3 渐变(gradients)可以让你在两个或多个指定的颜色之间显示平稳的过渡. 以前,你必须使用图像来实现这些效果.但是,通过使用 CSS3 渐变(gradients),你可以 ...
- Node以数据块的形式读取文件
在Node中,http响应头信息中Transfer-Encoding默认是chunked. Transfer-Encoding:chunked Node天生的异步机制,让响应可以逐步产生. 这种发送数 ...
- java通过jdbc连接impala
下载所需jar包:http://www.cloudera.com/downloads/connectors/impala/jdbc/2-5-28.html 选择使用impalajdbc41版本 imp ...
- Android--Toast(吐司)的基本使用
1.学习Android开发,不能从单方面的知识去考虑问题,要从全面出发. 2.Toast(吐司) 1.打开eclipse 选择文件存放的位置 点击Dbms,测试是否连接成功(海马模拟器或者夜神模拟器) ...
- Java基础_内部类、静态内部类、成员内部类、局部内部类、匿名内部类 (转)
From: http://www.itzhai.com/java-based-notebook-a-static-inner-class-within-a-class-member-within-th ...