Tool.js(javascript帮助类)
//string.format
$.format = function (source, params) {
if (arguments.length == )
return function () {
var args = $.makeArray(arguments);
args.unshift(source);
return $.validator.format.apply(this, args);
};
if (arguments.length > && params.constructor != Array) {
params = $.makeArray(arguments).slice();
}
if (params.constructor != Array) {
params = [params];
}
$.each(params, function (i, n) {
source = source.replace(new RegExp("\\{" + i + "\\}", "g"), (typeof n == 'undefined' || n == null) ? '' : n);
});
return source;
}
//获取URL参数
function request(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
var r = window.location.search.substr().match(reg);
if (r != null) return r[]; return null;
}
//Cookie
// 设置Cookie
function setCookie(name, value) {
var expires = (arguments.length > ) ? arguments[] : null;
document.cookie = name + "=" + encodeURIComponent(value) + ((expires == null) ? "" : ("; expires=" + expires.toGMTString())) + "";
} // 获取Cookie
function getCookie(name) {
var value = document.cookie.match(new RegExp("(^| )" + name + "=([^;]*)(;|$)"));
if (value != null) {
return decodeURIComponent(value[]);
} else {
return null;
}
} // 删除cookie
function removeCookie(name) {
var expires = new Date();
expires.setTime(expires.getTime() - * );
setCookie(name, "", expires);
}
//运算
// 浮点数加法运算
function floatAdd(arg1, arg2) {
var r1, r2, m;
try {
r1 = arg1.toString().split(".")[].length;
} catch (e) {
r1 = ;
}
try {
r2 = arg2.toString().split(".")[].length;
} catch (e) {
r2 = ;
}
m = Math.pow(, Math.max(r1, r2));
return (arg1 * m + arg2 * m) / m;
} // 浮点数减法运算
function floatSub(arg1, arg2) {
var r1, r2, m, n;
try {
r1 = arg1.toString().split(".")[].length;
} catch (e) {
r1 =
}
try {
r2 = arg2.toString().split(".")[].length;
} catch (e) {
r2 =
}
m = Math.pow(, Math.max(r1, r2));
n = (r1 >= r2) ? r1 : r2;
return ((arg1 * m - arg2 * m) / m).toFixed(n);
} // 浮点数乘法运算
function floatMul(arg1, arg2) {
var m = , s1 = arg1.toString(), s2 = arg2.toString();
try {
m += s1.split(".")[].length;
} catch (e) { }
try {
m += s2.split(".")[].length;
} catch (e) { }
return Number(s1.replace(".", "")) * Number(s2.replace(".", "")) / Math.pow(, m);
} //保留2位四舍五入
function changeTwoDecimal_f(x) {
var f_x = parseFloat(x);
if (isNaN(f_x)) {
alert('function:changeTwoDecimal->parameter error');
return false;
}
var f_x = Math.round(x * ) / ;
var s_x = f_x.toString();
var pos_decimal = s_x.indexOf('.');
if (pos_decimal < ) {
pos_decimal = s_x.length;
s_x += '.';
}
while (s_x.length <= pos_decimal + ) {
s_x += '';
}
return s_x;
} // 浮点数除法运算
function floatDiv(arg1, arg2) {
var t1 = , t2 = , r1, r2;
try {
t1 = arg1.toString().split(".")[].length;
} catch (e) { }
try {
t2 = arg2.toString().split(".")[].length;
} catch (e) { }
with (Math) {
r1 = Number(arg1.toString().replace(".", ""));
r2 = Number(arg2.toString().replace(".", ""));
return (r1 / r2) * pow(, t2 - t1);
}
} // 设置数值精度
function setScale(value, scale, roundingMode) {
if (roundingMode.toLowerCase() == "roundhalfup") {
return (Math.round(value * Math.pow(, scale)) / Math.pow(, scale)).toFixed(scale);
} else if (roundingMode.toLowerCase() == "roundup") {
return (Math.ceil(value * Math.pow(, scale)) / Math.pow(, scale)).toFixed(scale);
} else {
return (Math.floor(value * Math.pow(, scale)) / Math.pow(, scale)).toFixed(scale);
}
}
// html字符串转义
function htmlEscape(htmlString) {
htmlString = htmlString.replace(/&/g, '&');
htmlString = htmlString.replace(/</g, '<');
htmlString = htmlString.replace(/>/g, '>');
htmlString = htmlString.replace(/'/g, '´');
htmlString = htmlString.replace(/"/g, '"');
htmlString = htmlString.replace(/\|/g, '¦');
return htmlString;
}
Tool.js(javascript帮助类)的更多相关文章
- JAVA调用操作javascript (JS)工具类
import java.io.BufferedReader;import java.io.FileNotFoundException;import java.io.FileReader;import ...
- js常用工具类.
一些js的工具类 复制代码 /** * Created by sevennight on 15-1-31. * js常用工具类 */ /** * 方法作用:[格式化时间] * 使用方法 * 示例: * ...
- Atitit.js javascript的rpc框架选型
Atitit.js javascript的rpc框架选型 1. Dwr1 2. 使用AJAXRPC1 2.2. 数据类型映射表1 3. json-rpc轻量级远程调用协议介绍及使用2 3.1. 2.3 ...
- JavaScript实现类的private、protected、public、static以及继承
JavaScript中的类 JavaScript实际上是一种弱类型语言,与C++和Java等语言不同.因此,在JavaScript中,没有强调类(class)这一概念,但实际运用中,类还是很重要的,比 ...
- Atitit.javascript 实现类的方式原理大总结
Atitit.javascript 实现类的方式原理大总结 1. 实现类的式::构造方法方式:原型方式:构造方法+原型的混合方式 1 2. 原型方式(function mode)经典式..实现属性推荐 ...
- [JS] javascript基础语法
W3CSchool全套Web开发手册:点击下载 1.javascript是什么 js是具有面向对象能力的,解释性的程序设计语言. 2.js的类型 [基本类型]:string number boolea ...
- javascript 定义类(转载)
Javascript本身并不支持面向对象,它没有访问控制符,它没有定义类的关键字class,它没有支持继承的extend或冒号,它也没有用来支持虚函数的virtual,不过,Javascript是一门 ...
- javascript定义类和类的实现
首先说说类,在一个类里我们会有以下的几个特征: 1. 公有方法 2. 私有方法 3. 属性 4. 私有变量 5. 析构函数 我们直接看一个例子: /***定义类***/ var Class = fun ...
- javascript创建类的6种方式
javascript创建类的7种方式 一 使用字面量创建 1.1 示例 var obj={}; 1.2 使用场景 比较适用于临时构建一个对象,且不关注该对象的类型,只用于临时封装一次数据,且不适合代码 ...
- thrift js javascript C# Csharp webservice
http://www.cnblogs.com/xxxteam/archive/2013/04/15/3023159.html 利用thrift实现js与C#通讯的例子 关键字:thrift js ja ...
随机推荐
- mysql数据库系统学习(一)---一条SQL查询语句是如何执行的?
本文基于----MySQL实战45讲(极客时间----林晓斌 )整理----->https://time.geekbang.org/column/article/68319 一.第一节:一条sq ...
- hbuilder离线打包iOS,xcode开发卡在启动页注意点
1.Display Name的名称与manifest.json中的name保持一致. 2.项目文件夹名.contro.xml中的appid.manifest.json中的id一致
- 【csp模拟赛1】不服来战 (challenge.cpp)
[题目描述] 最近小 Z 和他的朋友都迷上了一款手机游戏:不服来战. 游戏的设定十分简单,在游戏开始时,会给出一排共 N 个灯,有的灯是开着 的有的是关着的,每个灯都有一个分数.而玩家可以进行任意次操 ...
- NVMe Windows 支持情况
From NVMe 官网: Windows Driver – Microsoft Inbox • Closed source driver (Microsoft)• Inbox driver to W ...
- python 字符串模板
from string import Template print(type(Template)) mystr = Template("hi,$name 你是$baby") pri ...
- codeforces#1183F. Topforces Strikes Back(数论)
题目链接: http://codeforces.com/contest/1183/problem/F 题意: 给出n个数,找出最多三个互不整除的数,取最大的和 数据范围: $1 \le n \le 2 ...
- Java线程之创建线程
翻译自:https://www.journaldev.com/1016/java-thread-example 进程 进程是一个自包含的执行环境,它可以被看成一个程序或应用程序.然而一个应用程序本身包 ...
- 在windows下安装lxml 报错error: Unable to find vcvarsall.bat
刚开始安装 ,我是使用命令pip install lxml直接进行安装,不过出错了 error: Unable to find vcvarsall.bat 解决方案: 1.首先安装wheel,pip ...
- Go 通道(channel)与协程间通信
协程间通信 协程中可以使用共享变量来通信,但是很不提倡这样做,因为这种方式给所有的共享内存的多线程都带来了困难. 在 Go 中有一种特殊的类型,通道(channel),就像一个可以用于发送类型化数据的 ...
- VMware配置NAT方式下的静态ip
一.VMware上NAT模式工作原理 原理图如下: 说明: 1.虚拟主机与本地主机通信时,直接通过虚拟交换机访问(不管是虚拟主机的ip是静态ip还是动态分配的ip) 2.虚拟主机与外网通信时,虚拟主机 ...