常用到的一些js方法,记录一下
获取字符串长度
function GetStringLength(str) {
return str.replace(/[^\x00-\xff]/g, "00").length;
}
通过js对html转义和反转义
function HTMLEncode(html) {
var temp = document.createElement("div");
(temp.textContent != null) ? (temp.textContent = html) : (temp.innerText = html);
var output = temp.innerHTML;
temp = null;
return output;
}
function HTMLDecode(text) {
var temp = document.createElement("div");
temp.innerHTML = text;
var output = temp.innerText || temp.textContent;
temp = null;
return output;
}
一些公用的js
var com = com || {};
(function ($, com) {
/**
* 截取字符串
* @param str:要截取的字符串
* @param len:保留多少字符
* @param symbol:超过之后字符串末端要添加的字符
*/
com.cutStr = function (str, len, symbol) {
str = str || "";
if (symbol == null || symbol == undefined)
symbol = "...";
var count = 0;
var strTemp = "";
for (var i = 0; i < str.length; i++) {
if (/[^\x00-\xff]/g.test(str.substr(i, 1))) {
count += 2;
}
else {
count += 1;
}
if (count <= len) {
strTemp += str.substr(i, 1);
}
else {
return strTemp + symbol;
}
}
return str;
},
/*
* 将日期字符串转化为Date
* (如:将"2016-12-24 20:13:14"转化为Date格式)
* @param d:待转化字符串(传入的时间不能有毫秒)
*/
com.getDate = function (d) {
//部分浏览器(IE)不支持日期格式“yyyy-MM-dd hh:mm:ss”,必须将“-”转化为“/”
var date = new Date(Date.parse(d.replace(/-/g, "/")));
return date;
},
/*
* 获取html代码的纯文本
* @param html
*/
com.removeHTMLTag = function (html) {
html = html.replace(/<\/?[^>]*>/g, ''); //去除HTML tag
html = html.replace(/[ | ]*\n/g, '\n'); //去除行尾空白
//html = html.replace(/\n[\s| | ]*\r/g,'\n'); //去除多余空行
html = html.replace(/ /ig, '');//去掉
html = html.replace(/\s/g, ''); //将空格去掉
return html;
},
/*
* 获取地址栏参数
* @param 参数名
*/
com.getQueryString = function (name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);
if (r != null) return (r[2]); return null;
},
/**************************************************************
*将金额转化为大写
* str:需要转化的金额
****************************************************************/
com.convertMoney = function (n) {
var fraction = ['角', '分', '毫', '厘'];
var digit = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖'];
var unit = [['元', '万', '亿'], ['', '拾', '佰', '仟']];
var cnInteger = "整"; //整数金额时后面跟的字符
var cnIntLast = "元"; //整型完以后的单位
var maxNum = 9999999999999.9999;
var head = n < 0 ? '负' : '';
//取绝对值
n = Math.abs(n);
if (n >= maxNum) {
console.error("金额转化超出最大处理数字");
return "";
}
var IntegerNum; //金额整数部分
var DecimalNum; //金额小数部分
var money = n.toString();
if (money.indexOf(".") == -1) {
IntegerNum = money;
DecimalNum = '';
} else {
var parts = money.split(".");
IntegerNum = parts[0];
DecimalNum = parts[1].substr(0, 4);
}
var ChineseStr = "";
//小数部分
if (DecimalNum != '') {
for (i = 0; i < DecimalNum.length; i++) {
var m = DecimalNum.substr(i, 1);
if (m != '0') {
ChineseStr += digit[Number(m)] + fraction[i];
}
}
}
IntegerNum = IntegerNum * 1;
//整数部分
for (var i = 0; i < unit[0].length && IntegerNum > 0; i++) {
var p = '';
for (var j = 0; j < unit[1].length && IntegerNum > 0; j++) {
p = digit[IntegerNum % 10] + unit[1][j] + p;
IntegerNum = Math.floor(IntegerNum / 10);
}
ChineseStr = p.replace(/(零.)*零$/, '').replace(/^$/, '零') + unit[0][i] + ChineseStr;
}
if (ChineseStr == '') {
ChineseStr += digit[0] + cnIntLast + cnInteger;
} else if (DecimalNum == '') {
ChineseStr += cnInteger;
}
ChineseStr = head + ChineseStr;
return ChineseStr;
},
/**
* 获取字符串长度(一个汉字占两个字符)
* @param str:字符串
*/
com.getStringLength = function (str) {
return str.replace(/[^\x00-\xff]/g, "00").length;
}
})(jQuery, com);
常用到的一些js方法,记录一下的更多相关文章
- .net mvc 站点自带简易SSL加密传输 Word报告自动生成(例如 导出数据库结构) 微信小程序:动画(Animation) SignalR 设计理念(一) ASP.NET -- WebForm -- ViewState ASP.NET -- 一般处理程序ashx 常用到的一些js方法,记录一下 CryptoJS与C#AES加解密互转
.net mvc 站点自带简易SSL加密传输 因项目需要,传输数据需要加密,因此有了一些经验,现简易抽出来分享! 请求:前端cryptojs用rsa/aes 或 rsa/des加密,后端.net ...
- unigui结合JS方法记录
在js中界面上所有组件都当成html里来控制 .控制按钮事件 document.getElementById(MainForm.UniButton4.getId()).click(); 这个方法让J ...
- Dynamics CRM 常用 JS 方法集合
JS部分 拿到字段的值 var value= Xrm.Page.getAttribute("attributename").getValue(); Xrm.Page.getAttr ...
- js实用方法记录-指不定哪天就会用到的js方法
js实用方法记录-指不定哪天就会用到的js方法 常用或者不常用都有 判断是否在微信浏览器中 测试代码:isWeiXin()==false /** * 是否在微信中 */ function isWeix ...
- 常用js方法封装
常用js方法封装 var myJs = { /* * 格式化日期 * @param dt 日期对象 * @returns {string} 返回值是格式化的字符串日期 */ getDates: fun ...
- 常用js方法
function dateGetter(name, size, offset, trim) { offset = offset || 0; return function (date) { var v ...
- 常用js方法整理common.js
项目中常用js方法整理成了common.js var h = {}; h.get = function (url, data, ok, error) { $.ajax({ url: url, data ...
- 项目中常用js方法整理common.js
抽空把项目中常用js方法整理成了common.js,都是网上搜集而来的,大家一起分享吧. var h = {}; h.get = function (url, data, ok, error) { $ ...
- js实用方法记录-js动态加载css、js脚本文件
js实用方法记录-动态加载css/js 附送一个加载iframe,h5打开app代码 1. 动态加载js文件到head标签并执行回调 方法调用:dynamicLoadJs('http://www.yi ...
随机推荐
- 149. Max Points on a Line (Array; Greedy)
Given n points on a 2D plane, find the maximum number of points that lie on the same straight line. ...
- 安装Oracle客户端寻找配置文件tnsnames.ora
# tnsnames.ora Network Configuration File: D:\app\Administrator\product\11.2.0\dbhome_1\network\admi ...
- 41-json.decoder.JSONDecodeError: Invalid control character at: line 6894 column 12 (char 186418)
在使用python中将单词本的单词用正则匹配成字典后,以json存储,仪json读入,但是一直报错: 原因是: 正则处理后的数据有的出了点问题,导致一个字典的 有多个相同的键!!!,则肯定会报错啊!! ...
- Spring框架之Bean的作用范围和生命周期的注解
1. Bean的作用范围注解 * 注解为@Scope(value="prototype"),作用在类上.值如下: * singleton -- 单例,默认值 * prototype ...
- 移动端 输入框 如果类型是number,用户也可以输入汉字和字母
<input type="number" id="input-age" placeholder="请输入你的年龄" /> //i ...
- code1002 搭桥
最小生成树 每读入一个城市,把他与之前的所有城市做一次link() link的内容: 1.如果两个城市直接相连,合并他们的集合(并查集)2.如果两个城市可以搭桥,添加一条边来连接.如果不可以搭桥,什么 ...
- FSCapture截图软件注册码
企业版序列号: name:bluman serial/序列号/注册码:VPISCJULXUFGDDXYAUYF
- Java NIO系列教程(十一) Java NIO 与 IO
Java NIO系列教程(十一) Java NIO与IO 当学习了 Java NIO 和 IO 的 API 后,一个问题马上涌入脑海: 我应该何时使用 IO,何时使用 NIO 呢?在本文中,我会尽量清 ...
- zeromq学习记录(二)天气更新服务器使用ZMQ_SUB ZMQ_PUB
/************************************************************** 技术博客 http://www.cnblogs.com/itdef/ ...
- org.apache.commons札记
StringUtils.isBlank(null); //trueStringUtils.isBlank(""); //trueStringUtils.isBlank(" ...