# Mtils2
Mtils是一套前端代码集合,提供常用的数据校验、数据加密、扩展函数、便捷函数。 <br />
Mtils2 is Mtils Upgraded version
[![GitHub (pre-)release](https://img.shields.io/github/release/misterchangray/Mtils2/all.svg)](https://github.com/misterchangray/Mtils2)
[![GitHub issues](https://img.shields.io/github/issues/misterchangray/Mtils2.svg)](https://github.com/misterchangray/Mtils2/issues)
[![GitHub closed issues](https://img.shields.io/github/issues-closed/misterchangray/Mtils2.svg)](https://github.com/misterchangray/Mtils2/issues?q=is%3Aissue+is%3Aclosed)
[![GitHub](https://img.shields.io/github/license/misterchangray/Mtils2.svg)](./LICENSE)
##### 这是什么
这是一个js的工具集合,封装了常见的表单校验,加密算法,原生函数扩展和一些其他的便捷方法。
详情[参阅API文档](https://misterchangray.github.io/Mtils2/)。
##### 如何下载
- github 上直接下载 released 版本[点击前往](https://github.com/MisterChangRay/Mtils2/releases)
- npm 命令直接安装;`npm install mtils --save-dev`
##### 简介
1. 提供身份证、银行卡、社会信用代码、邮箱、手机、座机、QQ、URL、IP等常见的数据格式校验
2. 提供年龄计算、进制转换、cookie操作、金额格式化、时间格式化、数据类型判断、数组去重、获取拼音等常见便捷方法
3. 提供base64、md5、sha1、sha256、随机数等常见数据安全算法
4. 封装精度更高的计算函数,链式函数调用(类promise),数组对象获取,对象属性设置、对象数组查找
##### 使用示例
1. 引入Mtils.js
```html
<!DOCTYPE html>
<html>
<head>
<title>Mtils use test</title>
</head>
<body>
</body>
<script type="text/javascript" src="Mtils.js"></script>
<script type="text/javascript">
//在这里调用你想用的方法吧
...
</script>
</html>
```
2. 在Js域内使用Mtils调用你想使用的函数,具体可以[参阅API文档](https://misterchangray.github.io/Mtils2/)。
```js
<script type="text/javascript">
//校验身份证
if(Mtils.validation.isIdCard('510182199109217504')) {
alert('此身份证有效');
} else {
alert('此身份证无效');
}
//校验身份证是否为男性身份证
if(Mtils.validation.isIdCard('510182199109217504', Mtils.constant.MAN)) {
alert('此身份证为男性身份证');
} else {
alert('此身份证无效');
}
//MD5加密密码
var pw = Mtils.security.hex_md5('password');
console.log(pw); // pw = "5f4dcc3b5aa765d61d8327deb882cf99"
//生成UUID
var uuid = Mtils.security.uuid();
console.log(uuid); // uuid = "A0CBA9E7-EF50-41A8-B762-49C43C85121A"
//生成介于1-99的随机数
var randomNum = Mtils.security.randomBetween(1, 99)
console.log(randomNum); // randomNum = 22
//取汉字拼音
var py = Mtils.utils.makePy('Mtils 真是个好工具');
console.log(py); // py = "Mtils ZhenShiGeHaoGongJu"
//只取汉字首字母拼音
var py = Mtils.utils.makePy('Mtils 真是个好工具', true);
console.log(py); // py = "Mtils ZSGHGJ"
//将10进制的4转为2进制
var result = Mtils.utils.decimalConversion(4, 10, 2);
console.log(result); // result = 100
//数组去除重复元素
var result = Mtils.extention.uniqueArray([1,2,3,4,4,3]);
console.log(result); // result = [1,2,3,4]
//对象属性克隆, 从右到左;
var a = {a:1}, b = {b:2}, c ={c:3}, d= {a:4};
var result = Mtils.extention.extend(a,b,c,d); //将d,c,b这三个对象的属性复制到a对象中
console.log(result); // result = {a: 4, b: 2, c: 3}
//格式化时间
var result = Mtils.extention.formatDate(Mtils.now(), "yyyy-MM-dd");
console.log(result); // result = "2018-04-08"
//便捷JS对象设置值
var obj = {};
Mtils.utils.setObjectPropertyVal(obj, 'a.b.c', 123, true);
console.log(obj.a.b.c); // obj.a.b.c = 123
//便捷获取JS对象值,也可以用下面的方法获取值。原生obj.a.b.c,如果a为空,则可能报错,而获取方法不会报错且可以设置默认值
var objVal = Mtils.utils.getObjectPropertyVal(obj, 'a.b.c');
console.log(objVal); // objVal = 123
//根据对象属性来过滤数组, 这里从儿童列表中提取出所有姓张的
var childrens = [{id:1, name:'张三'}, {id:2, name:'李四'}, {id:3, name:'张国立'}, {id:4, name:'赵武'}];
var result = Mtils.utils.findInArray({"name":"张"}, childrens, true);
console.log(result); // result = [{id:1, name:'张三'}, {id:3, name:'张国立'}]
//也扩展了数组根据Key快速获取对象的方法
var childrens = [{id:1, name:'张三'}, {id:2, name:'李四'}, {id:3, name:'张国立'}, {id:4, name:'赵武'}];
var result = childrens.getById(1);
console.log(result); // result = {id:1, name:'张三'}
//排序数组中的所有对象;根据年龄倒序排序数组 childrens
var childrens = [{age:12, name:'张三'}, {age:21, name:'李四'}, {age:31, name:'张国立'}, {age:41, name:'赵武'}];
var result = childrens.sort(Mtils.extention.sortByObjectPropertie("age", false));
console.log(result); // result = [{age:41, name:'赵武'},{age:31, name:'张国立'},{age:21, name:'李四'},{age:12, name:'张三'}]
//链式调用,解决回调的坑(这个演示的是伪代码)
//该函数已经扩展到window对象,即也可以直接使用ChainCallManager()。示例中的三个ajax将会依次执行。
Mtils.utils.ChainCallManager().then(function() {
var self = this;
...
$.ajax(url, function() {
self.next();//当前函数执行完毕后调用下一个函数执行
});
...
}).then(function() {
...
var self = this;
$.ajax(url, function() {
self.next();
});
...
}).then(function() {
...
var self = this;
$.ajax(url, function() {
self.next();
});
...
}).start();
//更多方法及语法,请结合API文档使用...
</script>
```
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
Mtils是一套前端辅助代码集合,提供常用的数据校验、数据加密、扩展函数、便捷函数。_Mtils2.zip (128个子文件)
compareDoc.bat 78B
compareJs.bat 66B
sample.conf 868B
default.css 2KB
Mtils.js.html 812KB
window.Mtils.extention.html 43KB
window.Mtils.utils.html 37KB
window.Mtils.validation.html 26KB
window.Mtils.security.html 19KB
window.Mtils.browser.html 14KB
window.Mtils.constant.html 10KB
window.Mtils.html 7KB
_global_.html 5KB
index.html 5KB
files.html 4KB
demo.html 2KB
index.html 673B
header.html 24B
js.jar 800KB
yuicompressor-2.4.8.jar 769KB
jsdebug.jar 1KB
jsrun.jar 1KB
JsDebugRun.java 753B
JsRun.java 743B
Mtils.js 130KB
index.js 121KB
Mtils.min.js 72KB
test.js 22KB
Symbol.js 18KB
Walker.js 15KB
jsdoc_test.js 10KB
DocTag.js 10KB
XMLParse.js 8KB
TokenReader.js 8KB
run.js 8KB
SymbolSet.js 7KB
publish.js 6KB
DocComment.js 5KB
Parser.js 5KB
Link.js 4KB
DomReader.js 4KB
TestDoc.js 4KB
Dumper.js 4KB
Testrun.js 4KB
JsPlate.js 3KB
JsDoc.js 3KB
JSDOC.js 3KB
Lang.js 3KB
main.js 3KB
Opt.js 3KB
TokenStream.js 3KB
String.js 2KB
Chain.js 2KB
Hash.js 2KB
publishSrcHilite.js 2KB
tagSynonyms.js 1KB
PluginManager.js 1KB
Util.js 927B
event.js 894B
frame.js 832B
TextStream.js 804B
tagParamConfig.js 779B
borrows.js 724B
functions_nested.js 695B
Reflection.js 690B
param_inline.js 630B
functions_anon.js 602B
shared.js 549B
globals.js 483B
lend.js 480B
config.js 479B
FOODOC.js 467B
frameworkPrototype.js 465B
XMLDoc.js 465B
XMLDOC.js 456B
commentSrcJson.js 453B
overview.js 418B
synonyms.js 414B
constructs.js 404B
prototype_oblit_constructor.js 397B
Token.js 394B
addon.js 390B
runner.js 363B
augments.js 352B
memberof.js 338B
tosource.js 336B
augments2.js 334B
borrows2.js 325B
shortcuts.js 310B
namespace_nested.js 307B
module.js 292B
memberof_constructor.js 277B
prototype.js 268B
name.js 266B
functionCall.js 263B
symbolLink.js 254B
exports.js 246B
oblit_anon.js 222B
inner.js 220B
params_optional.js 197B
共 128 条
- 1
- 2
资源评论
好家伙VCC
- 粉丝: 2301
- 资源: 9142
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 自己写的一个很小的工具,用于替换文件的扩展名 文件扩展名匹配的才会被替换,如果不指定原始扩展名,将修改所有文件的扩展名为新扩展名 如果新扩展名为空,则替换后文件将没有扩展名
- nginx整合lua脚本demo
- 欧标TYPE 2桩端充电枪
- (22782460)单片机设计(详细教程MSP430.zip
- UE-ORCA.zip
- (11696858)条形码生成打印
- 个人使用资源,请勿下载使用
- (180014056)pycairo-1.21.0-cp37-cp37m-win-amd64.whl.rar
- (3268844)3G无线基本知识.pdf
- 捷米特JM-PN-EIP(Profinet转Ethernet-IP)应用案例.docx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功