Skip to content

Instantly share code, notes, and snippets.

View mcattx's full-sized avatar
🎯
learning

mcattx mcattx

🎯
learning
View GitHub Profile
@mcattx
mcattx / textCutOff.js
Created October 19, 2016 14:04
超长文本截断
function textCutOff(originStr, limitNum) {
var outputStr = '',
_count = function(str) {
var length = 0;
var chineseRE = /[\u4e00-\u9fa5]/,
englishRE = /[a-zA-Z]/,
numberRE = /[0-9]/,
enCharacterRE = /[\u002e|\u003f|\u0021|\u002c|\u005c|\u003b|\u003a|\u0026|\u0023|\u0033|\u0039|\u003b|\u0026|\u0071|\u0075|\u006f|\u0074|\u003b|\u0060|\u002f|\u0028|\u0029|\u0026|\u006c|\u0074|\u003b|\u0026|\u0067|\u0074|\u003b|\u007b|\u007d|\u002d|\u005f|\u003d|\u002b|\u007c|\u007e|\u0040|\u0023|\u0024|\u0025|\u005e|\u0026|\u002a]/,
cncharacterRE = /[\u3002|\uff1f|\uff01|\uff0c|\u3001|\uff1b|\uff1a|\u201c|\u201d|\u2018|\u2019|\uff08|\uff09|\u300a|\u300b|\u3008|\u3009|\u3010|\u3011|\u300e|\u300f|\u300c|\u300d|\ufe43|\ufe44|\u3014|\u3015|\u2026|\u2014|\uff5e|\ufe4f|\uffe5]/;
@mcattx
mcattx / re.js
Last active October 31, 2016 06:41
常用正则
var chineseRE = /[\u4e00-\u9fa5]/, // 中文正则
englishRE = /[a-zA-Z]/, //英文字母正则
numberRE = /[0-9]/, //数字正则
//英文标点符号正则,包括 . ? ! , \ ; : ' " ` / ( ) < > { } - _ = + | ~ @ # $ % ^ & *
enCharacterRE = /[\u002e|\u003f|\u0021|\u002c|\u005c|\u003b|\u003a|\u0026|\u0023|\u0033|\u0039|\u003b|\u0026|\u0071|\u0075|\u006f|\u0074|\u003b|\u0060|\u002f|\u0028|\u0029|\u0026|\u006c|\u0074|\u003b|\u0026|\u0067|\u0074|\u003b|\u007b|\u007d|\u002d|\u005f|\u003d|\u002b|\u007c|\u007e|\u0040|\u0023|\u0024|\u0025|\u005e|\u0026|\u002a]/,
// 中文标点符号正则,包括 。 ? ! , 、 ; : “ ” ‘ ' ( ) 《 》 〈 〉 【 】 『 』 「 」 ﹃ ﹄ 〔 〕 … — ~ ﹏ ¥
cncharacterRE = /[\u3002|\uff1f|\uff01|\uff0c|\u3001|\uff1b|\uff1a|\u201c|\u201d|\u2018|\u2019|\uff08|\uff09|\u300a|\u300b|\u3008|\u3009|\u3010|\u3011|\u300e|\u300f|\u300c|\u300d|\ufe43|\ufe44|\u3014|\u3015|\u2026|\u2014|\uff5e|\ufe4f|\uffe5]/,
passwordStrengthRE = /^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$/, //密码强度必须是包含大小写字母和数字的组合,不能使用特殊字符,长度在8-10之间@todo 待验证
15IDRE = /^[1-9]\\d{7}((0\\d)|(1[0-2]
@mcattx
mcattx / checkWebpFeature.js
Created October 17, 2016 07:31
检测浏览器是否支持WebP
// check_webp_feature:
// 'feature' can be one of 'lossy', 'lossless', 'alpha' or 'animation'.
// 'callback(feature, result)' will be passed back the detection result (in an asynchronous way!)
function check_webp_feature(feature, callback) {
var kTestImages = {
lossy: "UklGRiIAAABXRUJQVlA4IBYAAAAwAQCdASoBAAEADsD+JaQAA3AAAAAA",
lossless: "UklGRhoAAABXRUJQVlA4TA0AAAAvAAAAEAcQERGIiP4HAA==",
alpha: "UklGRkoAAABXRUJQVlA4WAoAAAAQAAAAAAAAAAAAQUxQSAwAAAARBxAR/Q9ERP8DAABWUDggGAAAABQBAJ0BKgEAAQAAAP4AAA3AAP7mtQAAAA=="
animation: "UklGRlIAAABXRUJQVlA4WAoAAAASAAAAAAAAAAAAQU5JTQYAAAD/////AABBTk1GJgAAAAAAAAAAAAAAAAAAAGQAAABWUDhMDQAAAC8AAAAQBxAREYiI/gcA"
};
@mcattx
mcattx / debounce function
Created September 18, 2016 14:00
debounce.js
function debounce(func, wait, immediate) {
var timeout,
args,
context,
timestamp,
result;
var later = function () {
var last = Date.now() - timestamp;
@mcattx
mcattx / gulp-plumber-handler.js
Created August 3, 2016 10:13
A function to handler errors in using gulp-plumber
var gulp = require('gulp'),
fs = require('fs'),
plumber = require('gulp-plumber');
//some gulp task here
gulp.task('sometask', function() {
gulp.src(TASK_SRC_PATH)
.pipe(plumber({
errorHandler: outputErr
}))
@mcattx
mcattx / separate.js
Created February 17, 2016 09:42
分割页面url,获取对应的参数值。
/**
* 分割页面url,获取对应的参数值。
* 比如分割 http://www.yy.com/search?q=123&sharefrom=wechat ,返回 Object {q: "123", sharefrom: "wechat"}
* @param null
* @return {object}
*/
function separate() {
var originUrl = window.location.search;
originUrl = originUrl.substr(1);
@mcattx
mcattx / trick.js
Created January 16, 2016 07:24
JS 常用的一些小 trick
//找出数组里数值最小的一个,仅适用于 Number Array
Math.min.apply({}, array);
@mcattx
mcattx / keywordHighlight.js
Last active January 28, 2016 08:36
页面关键字高亮
//关键字从页面的 url 获取;譬如: www.yourwebsite.com?p=1234
var keyword = window.location.search.substr(3);
keyword = decodeURIComponent(keyword);
/**
* 页面高亮关键字
* @param {string} targetNode: 要进行高亮的范围节点,需要类名(不需要加.)。
* @param {string} keyword: 高亮的关键字
* @param {array} exclude: 要排除的节点名字数组
*/
function HighLight(targetNode, keyword, excludeArr) {
@mcattx
mcattx / meta.html
Created December 18, 2015 03:24
HTML5 head meta
<!DOCTYPE html> <!-- 使用 HTML5 doctype,不区分大小写 -->
<html lang="zh-cmn-Hans"> <!-- 更加标准的 lang 属性写法 http://zhi.hu/XyIa -->
<head>
<!-- 声明文档使用的字符编码 -->
<meta charset='utf-8'>
<!-- 优先使用 IE 最新版本和 Chrome -->
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
<!-- 页面描述 -->
<meta name="description" content="不超过150个字符"/>
<!-- 页面关键词 -->
@mcattx
mcattx / .eslintrc
Last active October 17, 2017 07:14
My personal eslint config file
{
// 环境定义
"env": {
"browser": true,
"node": true,
"commonjs": true,
"amd": true,
"es6": false, // 支持除模块外所有 ECMAScript 6 特性(该选项会自动设置 ecmaVersion 解析器选项为 6)
"mocha": true,
"phantomjs": true,