Skip to content

Instantly share code, notes, and snippets.

@huanggm
huanggm / trans.js
Last active August 29, 2015 14:07
将给定的数字转化成千分位的格式,如把“10000”转化成“10,000”
function trans(s) {
var l = s.length % 3 || 3;
return s.slice(0,l)+s.slice(l).replace(/(\d{3})/g, ",$1");
}
@huanggm
huanggm / trans.js
Created October 14, 2014 10:48
将给定的年月日由数字转为汉字
function trans(s) {
s = s.replace(/-(\d)0/g, "-$1");
var d = ["〇", "一", "二", "三", "四", "五", "六", "七", "八", "九", "", "十", "二十", "三十", "年", "月"];
var r = [], flag = 14, gap = 0, t;
for(var i = 0; i < s.length; i ++) {
t = s.charAt(i);
if(t === "-") {
r.push(d[flag++]);
gap = 10;
} else {
@huanggm
huanggm / sort.js
Last active August 29, 2015 14:08
排序算法-javascript实现
/************快速排序**************/
function qsort(a, p, r) {
if(p < r) {
var q = partition(a, p, r);
qsort(a, p, q - 1);
qsort(a, q + 1, r);
}
}
function partition(a, p, r) {
var mid = a[r];
@huanggm
huanggm / reverse.js
Created November 26, 2014 13:29
给定一个字符串,要求把字符串前面的若干个字符移动到字符串的尾部,如把字符串“abcdef”前面的2个字符'a'和'b'移动到字符串的尾部,使得原字符串变成字符串“cdefab”。
function reverse(s, k) {
var arr = s.split(""), l = s.length; k = k % l;
function r(m, n) {
while(m < n) {
var tmp = arr[m];
arr[m++] = arr[n];
arr[n--] = tmp;
}
}
r(0, k - 1);
@huanggm
huanggm / cal.js
Created December 18, 2014 14:25
计算DOM节点的深度
function cal(node, cur) {
cur = cur || 1;
var c = node.childNodes;
if(node.nodeName === "IFRAME") {
c = [node.contentDocument];
}
var i = 0, l = c.length, maxarr=[];
if(c && l) {
cur ++;
while(i < l) {
@huanggm
huanggm / building.sh
Created January 12, 2016 07:52
自动构建的脚本,主要是调用fis3 release进行输出
echo 'start building!'
echo $PATH
export PATH=$PATH:/usr/local/bin
echo $PATH
pwd
cd use-php
/usr/local/bin/npm install
/usr/local/bin/fis3 release -d ../../builds/$BUILD_NUMBER/use-php
tar -czf ../../builds/$BUILD_NUMBER/$BUILD_TAG.tar.gz -C ../../builds/$BUILD_NUMBER/use-php .
echo 'build success!'
@huanggm
huanggm / jingdong_list.js
Created April 13, 2016 10:27
抓取京东左侧列表数据,返回一个数组
a=$('.subitems').map(function() {
return $(this).find('dl').map(function() {
var res = {}, $this = $(this);
var name = $this.children('dt').text().slice(0, -1);
res[name] = $this.children('dd').children('a').map(function() { return $(this).text(); }).get();
return res;
}).get();
}).get();
@huanggm
huanggm / base64.html
Last active September 20, 2022 02:25
收藏两种1像素图片的base64编码
<!-- 1像素透明 -->
<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7">
<!-- 1像素黑色 -->
<img src="data:image/gif;base64,R0lGODlhAQABAIAAAAUEBAAAACwAAAAAAQABAAACAkQBADs=">
<a href="http://proger.i-forge.net/%D0%9A%D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D1%80/[20121112]%20The%20smallest%20transparent%20pixel.html">参考网址</a>
//重写UploadFile和xhrUploadImg
function changeGlobalUploadFilePrototype() {
if (!window.FileReader || !window.FormData) {
// 如果不支持html5的文档操作,直接返回
return;
}
var E = wangEditor;
wangEditor.UploadFile.fn.selected = function(e, input) {
@huanggm
huanggm / chrome extensions gist.js
Last active January 5, 2019 07:23
浏览器扩展
//content scripts 与页面通信
var port = chrome.runtime.connect();
window.addEventListener("message", function(event) {
// We only accept messages from ourselves
if (event.source != window)
return;
if (event.data.type && (event.data.type == "FROM_PAGE")) {
console.log("Content script received: " + event.data.text);