JS常用工具函数(持续记录)

时间:2023-02-16 22:08:38

1、设置获取cookie

JS常用工具函数(持续记录)
//方式1
//设置cookie
function SetCookie(name, value)//两个参数,一个是cookie的名字,一个是值
{
var Days = 30; //此 cookie 将被保存 30 天
var exp = new Date(); //new Date("December 31, 9998");
exp.setTime(exp.getTime() + Days * 24 * 60 * 60 * 1000);
document.cookie = name + "=" + escape(value) + ";expires=" + exp.toGMTString();
}
//读取cookies
function GetCookie(name)
{
var arr = document.cookie.match(new RegExp("(^| )" + name + "=([^;]*)(;|$)"));
if (arr != null) return unescape(arr[2]); return null; }
//删除cookies
function delCookie(name)
{
var exp = new Date();
exp.setTime(exp.getTime() - 1);
var cval=getCookie(name);
if(cval!=null)
document.cookie= name + "="+cval+";expires="+exp.toGMTString();
}
JS常用工具函数(持续记录)

2、时间类型、字符串 互转

JS常用工具函数(持续记录)
js 时间转字符串
Date.prototype.Format = function(fmt) {
// author: meizz
var o = {
"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+)/.test(fmt))
fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "")
.substr(4 - RegExp.$1.length));
for ( var k in o)
if (new RegExp("(" + k + ")").test(fmt))
fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k])
: (("00" + o[k]).substr(("" + o[k]).length)));
return fmt;
}; JS 字符串转时间
/*
* 字符串和date 转换
*/
str2date = function(c_date) {
if (!c_date)
return "";
var tempArray = c_date.split("-");
if (tempArray.length != 3) {
alert("你输入的日期格式不正确,正确的格式:yyyy-MM-dd hh:mm:ss");
return 0;
}
var dateArr = c_date.split(" ");
var date = null;
if (dateArr.length == 2) {
var yymmdd = dateArr[0].split("-");
var hhmmss = dateArr[1].split(":");
date = new Date(yymmdd[0], yymmdd[1] - 1, yymmdd[2], hhmmss[0], hhmmss[1], hhmmss[2]);
} else {
date = new Date(tempArray[0], tempArray[1] - 1, tempArray[2], 00, 00, 01);
}
return date;
};
JS常用工具函数(持续记录)

3、银行卡号四位补空格

JS常用工具函数(持续记录)
//银行卡号按4位一空格显示(     使用 onkeyup(setBankNoStyle(this.value))   )
function setBankNoStyle(BankNo) {
var lKeyCode = (navigator.appname == "Netscape") ? event.which : event.keyCode;
if (lKeyCode != 8) {
if (BankNo.value == "") return;
var account = new String(BankNo.value).replace(/\s/g, '');
var strTemp = "";
for (var i = 0; i < account.length; i++) {
if (!isNaN(account[i])) {
strTemp = strTemp + account[i];
}
}
var strValue = strTemp.substr(0, 19);
strTemp = "";
for (var j = 0; j < strValue.length; j++) {
if ((j + 1) % 4 == 0) {
strTemp = strTemp + strValue[j] + " ";
} else {
strTemp = strTemp + strValue[j];
}
}
$(BankNo).val(strTemp);
} }
JS常用工具函数(持续记录)

4、文字内容部分选中

JS常用工具函数(持续记录)
//o是当前对象,例如文本域对象
//b是起始位置(begin),e是终点位置(end)
function textSelect(o, b, e) {
var b = parseInt(b, 10),
e = parseInt(e, 10);
var l = o.value.length;
if (l) {
//如果非数值,则表示从起始位置选择到结束位置
if (!b) {
b = 0;
}
if (!e) {
e = l;
}
//如果值超过长度,则就是当前对象值的长度
if (b > l) {
b = l;
}
if (e > l) {
e = l;
}
//如果为负值,则与长度值相加
if (b < 0) {
b = l + b;
}
if (e < 0) {
e = l + e;
}
if (o.createTextRange) { //IE浏览器
var range = o.createTextRange();
range.moveStart("character", -l);
range.moveEnd("character", -l);
range.moveStart("character", b);
range.moveEnd("character", e);
range.select();
} else {
o.setSelectionRange(b, e);
o.focus();
}
}
};
//var txt = document.getElementById('txt');
//textSelect(txt,'a',11);
JS常用工具函数(持续记录)

5、人民币数字转大写

JS常用工具函数(持续记录)
/*
《正确填写票据和结算凭证的基本规定》
银行、单位和个人填写的各种票据和结算凭证是办理支付结算和现金收付的重要依据,直接关系到支付结算的准确、及时和安全。票据和结算凭证是银行、单位和个人凭以记载账务的会计凭证,是记载经济业务和明确经济责任的一种书面证明。因此,填写票据和结算凭证,必须做到标准化、规范化,要要素齐全、数字正确、字迹清晰、不错漏、不潦草,防止涂改。中文大写金额数字应用正楷或行书填写,如壹(壹)、贰(贰)、叁、肆(肆)、伍(伍)、陆(陆)、柒、捌、玖、拾、佰、仟、万(万)、亿、元、角、分、零、整(正)等字样。不得用一、二(两)、三、四、五、六、七、八、九、十、念、毛、另(或0)填写,不得自造简化字。如果金额数字书写中使用繁体字,如贰、陆、亿、万、圆的,也应受理。 一、中文大写金额数字到"元"为止的,在"元"之后,应写"整"(或"正")字,在"角"之后,可以不写"整"(或"正")字。大写金额数字有"分"的,"分"后面不写"整"(或"正")字。 二、中文大写金额数字前应标明"人民币"字样,大写金额数字有"分"的,"分"后面不写"整"(或"正")字。 三、中文大写金额数字前应标明"人民币"字样,大写金额数字应紧接"人民币"字样填写,不得留有空白。大写金额数字前未印"人民币"字样的,应加填"人民币"三字。在票据和结算凭证大写金额栏内不得预印固定的"仟、佰、拾、万、仟、佰、拾、元、角、分"字样。 四、阿拉伯数字小写金额数字中有"0"时,中文大写应按照汉语语言规律、金额数字构成和防止涂改的要求进行书写。举例如下: 1·阿拉伯数字中间有"0"时,中文大写要写"零"字,如¥1409.50,应写成人民币陆壹仟肆佰零玖元伍角。
2·阿拉伯数字中间连续有几个"0"时,中文大写金额中间可以只写一个"零"字,如¥6007.14,应写成人民币陆仟零柒元壹角肆分。
3·阿拉伯金额数字万位和元位是"0",或者数字中间连续有几个"0",万位、元位也是"0",但千位、角位不是"0"时,中文大写金额中可以只写一个零字,也可以不写"零"字。如¥1680.32,应写成人民币壹仟陆佰捌拾元零叁角贰分,或者写成人民币壹仟陆佰捌拾元叁角贰分,又如¥107000.53,应写成人民币壹拾万柒仟元零伍角叁分,或者写成人民币壹拾万零柒仟元伍角叁分。
4·阿拉伯金额数字角位是"0",而分位不是"0"时,中文大写金额"元"后面应写"零"字。如¥16409.02,应写成人民币壹万陆仟肆佰零玖元零贰分;又如¥325.04,应写成人民币叁佰贰拾伍元零肆分。
五、阿拉伯小写金额数字前面,均应填写人民币符号"¥"。阿拉伯小写金额数字要认真填写,不得连写分辨不清。
六、票据的出票日期必须使用中文大写。为防止变造票据的出票日期,在填写月、日时,月为壹、贰和壹拾的,日为壹至玖和壹拾、贰拾和叁拾的,应在其前加"零";日为拾壹至拾玖的,应在其前加"壹"。如1月15日,应写成零壹月壹拾伍日。再如10月20日,应写成零壹拾月零贰拾日。 七、票据出票日期使用小写填写的,银行不予受理。大写日期未按要求规范填写的,银行可予受理,但由此造成损失的,由出票人自行承担。
*/
//数字转人民币大写
function ConvertChineseMoney(money) {
var cnNums = new Array("零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"); //汉字的数字
var cnIntRadice = new Array("", "拾", "佰", "仟"); //基本单位
var cnIntUnits = new Array("", "万", "亿", "兆"); //对应整数部分扩展单位
var cnDecUnits = new Array("角", "分", "毫", "厘"); //对应小数部分单位
var cnInteger = "整"; //整数金额时后面跟的字符
var cnIntLast = "元"; //整型完以后的单位
var maxNum = 999999999999999.9999; //最大处理的数字 var IntegerNum; //金额整数部分
var DecimalNum; //金额小数部分
var ChineseStr = ""; //输出的中文金额字符串
var parts; //分离金额后用的数组,预定义 if (money == "") {
return "";
} money = parseFloat(money);
if (money >= maxNum) {
$.alert('超出最大处理数字');
return "";
}
if (money == 0) {
ChineseStr = cnNums[0] + cnIntLast + cnInteger;
return ChineseStr;
}
money = money.toString(); //转换为字符串
if (money.indexOf(".") == -1) {
IntegerNum = money;
DecimalNum = '';
} else {
parts = money.split(".");
IntegerNum = parts[0];
DecimalNum = parts[1].substr(0, 4);
}
if (parseInt(IntegerNum, 10) > 0) {//获取整型部分转换
zeroCount = 0;
IntLen = IntegerNum.length;
for (i = 0; i < IntLen; i++) {
n = IntegerNum.substr(i, 1);
p = IntLen - i - 1;
q = p / 4;
m = p % 4;
if (n == "0") {
zeroCount++;
} else {
if (zeroCount > 0) {
ChineseStr += cnNums[0];
}
zeroCount = 0; //归零
ChineseStr += cnNums[parseInt(n)] + cnIntRadice[m];
}
if (m == 0 && zeroCount < 4) {
ChineseStr += cnIntUnits[q];
}
}
ChineseStr += cnIntLast;
//整型部分处理完毕
}
if (DecimalNum != '') {//小数部分
decLen = DecimalNum.length;
for (i = 0; i < decLen; i++) {
n = DecimalNum.substr(i, 1);
if (n != '0') {
ChineseStr += cnNums[Number(n)] + cnDecUnits[i];
}
}
}
if (ChineseStr == '') {
ChineseStr += cnNums[0] + cnIntLast + cnInteger;
}
else if (DecimalNum == '') {
ChineseStr += cnInteger;
}
//如果元位刚好为零,后面需要补零
//if (ChineseStr.indexOf('拾元') >= 0) {
// if (ChineseStr.indexOf('分') >= 0 || ChineseStr.indexOf('角') >= 0) { //处理只到10元,又刚好有角或分的情况
// ChineseStr = ChineseStr.substr(0, ChineseStr.indexOf('元') + 1) + '零' + ChineseStr.substr(ChineseStr.indexOf('元') + 1);
// }
//} else
if (ChineseStr.indexOf('分') >= 0 && ChineseStr.indexOf('角') < 0) {//处理没有角有分的情况
if (ChineseStr.indexOf('元') > 0) {
ChineseStr = ChineseStr.substr(0, ChineseStr.indexOf('元')+1) + '零' + ChineseStr.substr(ChineseStr.indexOf('元') + 1);
}
}
return ChineseStr;
}

JS常用工具函数(持续记录)的更多相关文章

  1. 前端开发 —— js 常用工具函数(utilities)

    1. 时间 function getCurTime() { var date = new Date(); return date.toLocaleTimeString(); } date.toLoca ...

  2. JS常用工具函数

    /** * Created by gaojun-pd on 2016/10/27. */ var Util = { /** * 1.判断非空 * 2.获取字符串真实长度 汉字算两位 * 3.判断参数类 ...

  3. Node&period;js 常用工具

    Node.js 常用工具 util 是一个Node.js 核心模块,提供常用函数的集合,用于弥补核心JavaScript 的功能 过于精简的不足. util.inherits util.inherit ...

  4. Node&period;js 常用工具util包

    Node.js 常用工具 util 是一个Node.js 核心模块,提供常用函数的集合,用于弥补核心JavaScript 的功能 过于精简的不足. util.isError(obj); util.is ...

  5. js常用工具类&period;

    一些js的工具类 复制代码 /** * Created by sevennight on 15-1-31. * js常用工具类 */ /** * 方法作用:[格式化时间] * 使用方法 * 示例: * ...

  6. JS常用自定义函数总结

    JS常用自定义函数总结   1.原生JavaScript实现字符串长度截取 2.原生JavaScript获取域名主机 3.原生JavaScript清除空格 4.原生JavaScript替换全部 5.原 ...

  7. numpy 常用工具函数 —— np&period;bincount&sol;np&period;average

    numpy 常用工具函数 —— np.bincount/np.average numpy 常用api(一) numpy 常用api(二) 一个函数提供 random_state 的关键字参数(keyw ...

  8. JS开发常用工具函数 总结

    js原生工具库 1.isStatic:检测数据是不是除了symbol外的原始数据 */ function isStatic(value) { return( typeof value === 'str ...

  9. js常用工具

    1.反编译工具 .NET Reflector 2.js检查工具 ReSharper 8.0.14.856 官方原版+注册机     JScript Editor Extensions     JSEn ...

随机推荐

  1. 华盛顿大学 Programming Languages

    表达式三要素: 语法,类型和计算值.

  2. js高程读书笔记(1-3章)

    一.js简介 js是一种专为与网页交互而设计的脚本语言,由以下三个不同的部分组成: 1.ECMAScript,由ECMA-262(它规定了语言的这些组成部分:语法,类型,语句,关键字,保留字,操作符, ...

  3. &lbrack;原创&rsqb;Scala学习:数组的基本操作,数组进阶操作,多维数组

    1.Scala中提供了一种数据结构-数组,其中存储相同类型的元素的固定大小的连续集合.数组用于存储数据的集合,但它往往是更加有用认为数组作为相同类型的变量的集合 2 声明数组变量: 要使用的程序的数组 ...

  4. sc delete 服务器名提示&OpenCurlyDoubleQuote;指定的服务已经标记为删除”

    症状:停止服务后,右键无法点击“启动”,打开命令输入SC删除服务后提示如标题描述 原因:进程还在 解决方案:打开任务管理器,进程,找到你的已停止服务名,右键,结束进程,再操作即可删除服务

  5. Zend13&period;0 &plus;XAMPP3&period;2&period;2 调试配置

    Zend 调试PHP有3种方式: (1)PHP CLI APPLICATION (2)PHP Web Application (3)PHP UnitTest (1).(2)两种方式配置相似,下图是配置 ...

  6. IO-04&period; 混合类型数据格式化输入

    /** *A4-IO-04. 混合类型数据格式化输入 *C语言实现 *测试已通过 */ #include "stdio.h" int main() { float m1,m2; i ...

  7. 【BZOJ 2850】巧克力王国

    复习了下KDtree,贴一下新板子233. #include "bits/stdc++.h" using namespace std; inline int read(){ ,k= ...

  8. 文科生打开python的大门

    作为唯一的一名教育学院的学生,加入python课程,一定要声明我可不是并不是*选课的!虽然是文科生,但是是对编程这种东西很感兴趣的文科生.从站在python门口的张望,到现在悄悄把门打开,越来越感觉 ...

  9. SCOI2019d1t1平台跳跃&lbrack;高精&rsqb;

    分析 首先考虑相邻柱子之间没有浮台. 记前 \(m-1\) 个盘子为 x, 第 \(m\) 个盘子为 y,有如下过程:\(x\rightarrow C, y\rightarrow B, x\right ...

  10. Jhipster Registry(Eureka Server) Docker双向联通与高可用部署

    使用Compose来编排这个Eureka Server集群: peer1配置: server: port: 8761 eureka: instance: hostname: eureka-peer-1 ...