sword常用方法
sword内置了一些常用的js方法,以供大家调用,说明如下 snippets:
sword.xxx
使用说明
sword.***();
// 这些方法均可以放在filter中使用
isBetween
/**
* @description 判断val是否在lo和hi之间
* @param val 输入值
* @param lo 比较值的较大值
* @param hi 比较值的较小值
* @return true 或者 false
*/
trim
/**
* @description 去除输入字符的空格
* @param str 输入值
* @param type 去除类型: 1-所有空格 2-前后空格 3-前空格 4-后空格
* @return 新值
*/
changeCase
/**
* @description 转变字符的大小写
* @param str 输入值
* @param type 转变类型: 1:首字母大写
* 2:首页母小写
* 3:大小写转换
* 4:全部大写
* 5:全部小写
* @return 新值
*/
repeatStr
/**
* @description 字符串循环复制
* @param str 输入值
* @param count 循环次数
* @return 新值
* @example sword.repeatStr('123',3)
* "result:123123123"
*/
replaceAll
/**
* @description 符串替换(字符串,要替换的字符或者正则表达式(不要写g),替换成什么)
* @param str 输入值
* @param AFindText 被替换的字符
* @param ARepText 替换后的字符
* @return 新值
* @example sword.replaceAll('这里是上海,中国第三大城市,广东省省会,简称穗,','上海','广州')
* result:"这里是广州,中国第三大城市,广东省省会,简称穗,"
*/
checkType
/**
* @description 检测字符串
* @param str 输入值
* @param type 监测类型 email|phone|tel|number|english|text|chinese|lower|upper
* @return true或者false
* @example sword.checkType('165226226326','phone')
* "result:false"
*/
checkPwd
/**
* @description 检测密码强度
* @param str 输入值
* @return 强度等级
* @example sword.checkPwd('12asdASAD')
* result:3(强度等级为3)
*/
randomWord
/**
* @description 生成随机码
* @param count 数值 取值范围2-36
* @return 随机码
* @example sword.randomWord(10)
* result:2584316588472575
*/
countStr
/**
* @description 查找字符串中有特定字符的个数
* @param str 输入查找的字符串
* @param strSplit 需要查找的特定字符串格式
* @return 个数
* @example var strTest='sad44654blog5a1sd67as9dablog4s5d16zxc4sdweasjkblogwqepaskdkblogahseiuadbhjcibloguyeajzxkcabloguyiwezxc967'
* sword.countStr(strTest,'blog')
* result:6
*/
formatText
/**
* @description 格式化处理字符串
* @param str 输入字符串
* @param size 格式化位数
* @param delimiter 格式化后的分隔符
* @return 处理后的字符串
* @example sword.formatText('1234asda567asd890')
* result:"12,34a,sda,567,asd,890"
* sword.formatText('1234asda567asd890',4,' ')
* result:"1 234a sda5 67as d890"
* sword.formatText('1234asda567asd890',4,'-')
* sword.result:"1-234a-sda5-67as-d890"
*/
stWord
* @description 找出最长单词
* @param str 输入字符串
* @param splitType 分隔符(默认为空格)
* @param delimiter 格式化后的分隔符
* @return 处理后的字符串
* @example sword.longestWord('Find the Longest word in a String')
* result:7
* sword.longestWord('Find|the|Longest|word|in|a|String','|')
* result:7
*/
titleCaseUp
/**
* @description 句中单词首字母大写
* @param str 输入字符串
* @param splitType 分隔符(默认为空格)
* @return 处理后的字符串
* @example sword.titleCaseUp('this is a title')
* result:"This Is A Title"
*/
removeRepeatArray
/**
* @description 数组去重
* @param arr 输入数组
* @return 处理后的数组
*/
upsetArr
/**
* @description 数组打乱顺序
* @param arr 输入数组
* @return 处理后的数组
*/
maxArr
/**
* @description 取出数组中的最大值,主要是针对数字类型的数组
* @param arr 输入数组
* @return 最大值
*/
minArr
/**
* @description 取出数组中的最小值,主要是针对数字类型的数组
* @param arr 输入数组
* @return 最小值
*/
sumArr
/**
* @description 数组求和,主要是针对数字类型的数组
* @param arr 输入数组
* @return 数组的和
*/
covArr
/**
* @description 数组平均值,小数点可能会有很多位,这里不做处理,处理了使用就不灵活了!
* @param arr 输入数组
* @return 数组的平均值
*/
randomOne
/**
* @description 从数组中随机获取元素
* @param arr 输入数组
* @return 随机一个数组元素
*/
getEleCount
/**
* @description 返回数组(字符串)一个元素出现的次数
* @param obj 输入数组
* @param ele 查询元素
* @return 出现次数
* @example sword.getEleCount('asd56+asdasdwqe','a')
* result:3
* sword.getEleCount([1,2,3,4,5,66,77,22,55,22],22)
* result:2
*/
getCount
/**
* @description 返回数组(字符串)出现最多的几次元素和出现次数
* @param arr 输入数组
* @param rank 长度,默认为数组长度
* @param ranktype 排序方式,默认降序,输入 1则为升序
* @return 数组对象
* @example
* arr, rank->长度,默认为数组长度,ranktype,排序方式,默认降序
* 返回值:el->元素,count->次数
* sword.getCount([1,2,3,1,2,5,2,4,1,2,6,2,1,3,2])
* result:[{"el":"2","count":6},{"el":"1","count":4},{"el":"3","count":2},{"el":"4","count":1},{"el":"5","count":1},{"el":"6","count":1}]
* 默认情况,返回所有元素出现的次数
* sword.getCount([1,2,3,1,2,5,2,4,1,2,6,2,1,3,2],3)
* 传参(rank=3),只返回出现次数排序前三的
* result:[{"el":"2","count":6},{"el":"1","count":4},{"el":"3","count":2}]
* sword.getCount([1,2,3,1,2,5,2,4,1,2,6,2,1,3,2],null,1)
* 传参(ranktype=1,rank=null),升序返回所有元素出现次数
* result:[{"el":"6","count":1},{"el":"5","count":1},{"el":"4","count":1},{"el":"3","count":2},{"el":"1","count":4},{"el":"2","count":6}]
* sword.getCount([1,2,3,1,2,5,2,4,1,2,6,2,1,3,2],3,1)
* 传参(rank=3,ranktype=1),只返回出现次数排序(升序)前三的
* result:[{"el":"6","count":1},{"el":"5","count":1},{"el":"4","count":1}]
*/
getArrayNum
/**
* @description 得到n1-n2下标的数组
* @param arr 输入数组
* @param n1 下标元素1
* @param n2 下标元素2
* @return 数组
* @example
* sword.getArrayNum([0,1,2,3,4,5,6,7,8,9],5,9)
* result:[5, 6, 7, 8, 9]
* sword.getArrayNum([0,1,2,3,4,5,6,7,8,9],2) 不传第二个参数,默认返回从n1到数组结束的元素
* result:[2, 3, 4, 5, 6, 7, 8, 9]
*/
removeArrayForValue
/**
* @description 筛选数组,删除值为'val'的数组元素
* @param arr 输入数组
* @param val 筛选的字符串
* @param type 筛选类型,%表示只要包含就删除
* @return 数组
* @example
* sword.removeArrayForValue(['test','test1','test2','test','aaa'],'test','%')
* result:["aaa"] 带有'test'的都删除
* sword.removeArrayForValue(['test','test1','test2','test','aaa'],'test')
* result:["test1", "test2", "aaa"] //数组元素的值全等于'test'才被删除
*/
getOptionArray
/**
* @description 筛选数组,获取对象数组某些项
* @param arr 输入数组
* @param keys 关键项的key值
* @return 数组
* @example
* var arr=[{a:1,b:2,c:9},{a:2,b:3,c:5},{a:5,b:9},{a:4,b:2,c:5},{a:4,b:5,c:7}]
* sword.getOptionArray(arr,'a,c')
* result:[{a:1,c:9},{a:2,c:5},{a:5,c:underfind},{a:4,c:5},{a:4,c:7}]
* sword.getOptionArray(arr,'b',1)
* result:[2, 3, 9, 2, 5]
*/
filterOptionArray
/**
* @description 筛选数组,排除数组某些项
* @param arr 输入数组
* @param keys 排除关键项的key值
* @return 数组
* @example
* var arr=[{a:1,b:2,c:9},{a:2,b:3,c:5},{a:5,b:9},{a:4,b:2,c:5},{a:4,b:5,c:7}]
* sword.filterOptionArray(arr,'a')
* result:[{b:2,c:9},{b:3,c:5},{b:9},{b:2,c:5},{b:5,c:7}]
* sword.filterOptionArray(arr,'a,c')
* result:[{b:2},{b:3},{b:9},{b:2},{b:5}]
*/
arraySort
/**
* @description 对象数组的排序
* @param arr 输入数组
* @param sortText 排序条件,用,分割
* @return 数组
* @example
* var arr=[{a:1,b:2,c:9},{a:2,b:3,c:5},{a:5,b:9},{a:4,b:2,c:5},{a:4,b:5,c:7}]
* sword.arraySort(arr,'a,b')a是第一排序条件,b是第二排序条件
* result:[{"a":1,"b":2,"c":9},{"a":2,"b":3,"c":5},{"a":4,"b":2,"c":5},{"a":4,"b":5,"c":7},{"a":5,"b":9}]
*/
steamroller
/**
* @description 数组扁平化
* @param arr 输入数组
* @return 数组
*/
getEndTime
/**
* @description 到某一个时间的倒计时
* @param endTime 截止时间
* @return 字符串
* @example sword.getEndTime('2017/7/22 16:0:0')
* result:"剩余时间6天 2小时 28 分钟20 秒"
*/
randomColor
/**
* @description 随机产生颜色
* @return 颜色字符串
* @example sword.randomColor()
* result:#fff
*/
randomNumber
/**
* @description 随机返回一个范围的数字
* @param n1,n2 范围n1和范围n2
* @return 随机数
* @example sword.randomNumber(5,10)
* result:返回5-10的随机整数,包括5,10
* sword.randomNumber(10)
* result:返回0-10的随机整数,包括0,10
* sword.randomNumber()
* result:返回0-255的随机整数,包括0,255
*/
setUrlPrmt
/**
* @description 设置url参数
* @param obj 参数对象
* @return url参数字符串
* @example sword.setUrlPrmt({'a':1,'b':2})
* result:a=1&b=2
*/
getUrlPrmt
/**
* @description 获取url参数
* @param url url地址
* @return object对象
* @example sword.getUrlPrmt('segmentfault.com/write?draftId=122000011938')
* result:Object{draftId: "122000011938"}
*/
upDigit
/**
* @description 现金额大写转换函数
* @param n 金额
* @return 金额大写字符串
* @example sword.upDigit(168752632)
* result:"人民币壹亿陆仟捌佰柒拾伍万贰仟陆佰叁拾贰元整"
* sword.upDigit(1682)
* result:"人民币壹仟陆佰捌拾贰元整"
* sword.upDigit(-1693)
* result:"欠人民币壹仟陆佰玖拾叁元整"
*/
filterParams
/**
* @description 清除对象中值为空的属性
* @param obj 对象
* @return object对象
* @example sword.filterParams({a:"",b:null,c:"010",d:123})
* result:Object {c: "010", d: 123}
*/
setCookie
/**
* @description 设置cookie
* @param name cookie的key值
* @param value cookie的value值
* @param iDay expiresd的过期日期
* @example sword.setCookie('a',1)
*/
getCookie
/**
* @description 获取cookie
* @param name cookie的key值
* @return 相应name的值
* @example sword.getCookie('a')
*/
removeCookie
/**
* @description 删除cookie
* @param name cookie的key值
* @return 相应name的值
* @example sword.getCookie('a')
*/
toThousands
/**
* @description 将金额转成千分位显示,比如1,000
* @param num 金额
* @return 相应金额
* @example sword.toThousands(1000)
*/
getURLparam
/**
* @description 获取url中相应key的参数
* @param key url中的key
* @return 参数值
*/
strReverse
/**
* @description 字符串反转
* @param text 字符串
* @return 相应翻转后的字符串
* @example sword.strReverse('aaabadraa')
*/