常用到的一些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 ...
随机推荐
- html节点操作与事件
<div id='a' style="width: 500px;height: 500px;background-color: grey;"> </div> ...
- c++中Socket编程(入门)
转载 :http://www.cnblogs.com/L-hq815/archive/2012/07/09/2583043.html 但该作者也是转载,国外网站翻译之作 本人在学习Socket编程时, ...
- jquery获取当前屏幕宽度
参考文章 <script type="text/javascript"> $(document).ready(function() { alert($(window). ...
- Microsoft SQL Server, 错误:4064的解决方法 (转载)
SQL SERVER – Fix : Error: 4064 – Cannot open user default database. Login failed. Login failed for u ...
- [leetcode]139. Word Break单词能否拆分
Given a non-empty string s and a dictionary wordDict containing a list of non-empty words, determine ...
- git format-patch 用法【转】
本文转载自:http://blog.csdn.net/xzongyuan/article/details/9425739 git format-patch相对于git diff更便于操作,是更新的打包 ...
- struts2框架之自定义拦截器和配置
struts框架中也存在拦截器,只不过系统自动调用.框架自带的拦截器的配置文件所在的位置为: java Resources--->Libraries--->struts2-core-2.3 ...
- 子类覆写的变量被private隐藏,强制转换方式通过子类访问父类的被覆写变量:
import static java.lang.System.*; public class SuperParent{ public static void main(String[] args){ ...
- JVM 系列 ClassLoader
JVM 系列()ClassLoader 在前面一节中,主要介绍了 Class 的装载过程,Class 的装载大体上可以分为加载类.连接类和初始化 3 个阶段.本小节将主要介绍绍 Java 语言中的 C ...
- javascript札记
bind和unbind对应,live和die对应,千万别用bind绑定,用die解除.还有bind可以多次绑定同一个函数,可能会被执行多次同一个函数 正则表达式的使用 var email_reg = ...