WEB编程的套路——简单好用的js函数(2)
2016-06-13 07:29
405 查看
接第1部分,本部分将分享【输入内容校验】、【浏览器检测】、【内容格式化】
第3部分将重点介绍【高精度数值计算】相关的js库函数
需要注意的是:js代码的运行结果可能与环境有关,特别是浏览器环境有依赖关系,使用前请做好相关验证。
输入内容校验
常用的有:手机号码、身份证号码、车牌号
/**
* 手机号码校验
*/
FsUtil.checkMobileNumber = function(str) {
return(/^1[3|4|5|7|8]\d{9}$/.test(str) );
};
FsUtil.Browser_IE = "ie";
FsUtil.Browser_Firefox = "firefox";
FsUtil.Browser_Chrome = "Chrome";
FsUtil.Browser_Opera = "Opera";
FsUtil.Browser_Safari = "Safari";
//
FsUtil.Browser_UC = "uc";
FsUtil.Browser_Weixin = "wx";
FsUtil.Browser_TB = "tb";
FsUtil.Browser_Oupeng = "op";
FsUtil.Browser_BD = "bd";
FsUtil.Browser_QQ = "qq";
FsUtil.Browser_360 = "360";
FsUtil.Browser_Unknown = "unknown";
/**
* 检测浏览器类型
*/
FsUtil.detectBrowser = function() {
var text = window.navigator.userAgent.toUpperCase();
if(text.indexOf("MICROMESSENGER") != -1) { //微信
return (FsUtil.Browser_Weixin);
} else if(text.indexOf("QQBROWSER") != -1) { //QQ浏览器
return (FsUtil.Browser_QQ);
} else if(text.indexOf("UCBROWSER") != -1) { //UC浏览器
return (FsUtil.Browser_UC);
} else if(text.indexOf("ALIAPP") != -1) { //支付宝
return (FsUtil.Browser_TB);
} else if(text.indexOf("BAIDU") != -1) { //百度
return (FsUtil.Browser_BD);
} else if(text.indexOf("FIREFOX") != -1) { //火狐
return (FsUtil.Browser_Firefox);
} else if(text.indexOf("CHROME") != -1) { //Chrome
return (FsUtil.Browser_Chrome);
} else if(text.indexOf("MSIE") != -1) { //IE
return (FsUtil.Browser_IE);
} else if(text.indexOf("OUPENG") != -1) { //欧鹏
return (FsUtil.Browser_Oupeng);
} else if(text.indexOf("OPERA") != -1) { //Opera
return (FsUtil.Browser_Opera);
} else if(text.indexOf("SAFARI") != -1) { //Safari
return (FsUtil.Browser_Safari);
}
return (FsUtil.Browser_Unknown);
};
* 格式化金额的显示
*/
FsFormat.formatMoney = function(money) {
var num = Number(money); //先转换成数值
if(isNaN(num)) {
return ("0.00");
}
var str = num.toString(); //再转换成字符串进行处理
var pos = str.indexOf(".");
if(pos == -1) { //整数,补2零
return (str+".00");
} else { //
var pair = str.split(".");
if(pair[1].length < 2) { //小数为1位时补1零
return (str+"0");
} else if(pair[1].length > 2) { //小数位数大于2,截断
return (pair[0]+"."+pair[1].slice(0,2));
}
return (str);
}
};
代码注释较为详细,不再赘述。
第3部分将重点介绍【高精度数值计算】相关的js库函数
需要注意的是:js代码的运行结果可能与环境有关,特别是浏览器环境有依赖关系,使用前请做好相关验证。
输入内容校验
常用的有:手机号码、身份证号码、车牌号/**
* 手机号码校验
*/
FsUtil.checkMobileNumber = function(str) {
return(/^1[3|4|5|7|8]\d{9}$/.test(str) );
};
/** * 身份证号码校验 */ FsUtil.checkIDNumber = function(str) { return(/^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$|^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X)$/.test(str) ); };
/** * 车牌号码校验 */ FsUtil.checkCarNumber = function(str) { str = str.toUpperCase(); var reg = new RegExp(/^([^\x00-\xff][a-z]{1}|云a-v)(\s|)([a-z0-9]{5}|[a-z0-9]{4}(港|警))$/i); if(!(str.match(reg))) { return false; } else { str = str.substr(2,5); var reg = new RegExp(/[a-z].*?[a-z].*?[a-z]/i); if( (str.split('O').length>1) || (str.split('I').length>1) || str.match(reg) ) { return false; } } return true; };
浏览器检测
//浏览器类型FsUtil.Browser_IE = "ie";
FsUtil.Browser_Firefox = "firefox";
FsUtil.Browser_Chrome = "Chrome";
FsUtil.Browser_Opera = "Opera";
FsUtil.Browser_Safari = "Safari";
//
FsUtil.Browser_UC = "uc";
FsUtil.Browser_Weixin = "wx";
FsUtil.Browser_TB = "tb";
FsUtil.Browser_Oupeng = "op";
FsUtil.Browser_BD = "bd";
FsUtil.Browser_QQ = "qq";
FsUtil.Browser_360 = "360";
FsUtil.Browser_Unknown = "unknown";
/**
* 检测浏览器类型
*/
FsUtil.detectBrowser = function() {
var text = window.navigator.userAgent.toUpperCase();
if(text.indexOf("MICROMESSENGER") != -1) { //微信
return (FsUtil.Browser_Weixin);
} else if(text.indexOf("QQBROWSER") != -1) { //QQ浏览器
return (FsUtil.Browser_QQ);
} else if(text.indexOf("UCBROWSER") != -1) { //UC浏览器
return (FsUtil.Browser_UC);
} else if(text.indexOf("ALIAPP") != -1) { //支付宝
return (FsUtil.Browser_TB);
} else if(text.indexOf("BAIDU") != -1) { //百度
return (FsUtil.Browser_BD);
} else if(text.indexOf("FIREFOX") != -1) { //火狐
return (FsUtil.Browser_Firefox);
} else if(text.indexOf("CHROME") != -1) { //Chrome
return (FsUtil.Browser_Chrome);
} else if(text.indexOf("MSIE") != -1) { //IE
return (FsUtil.Browser_IE);
} else if(text.indexOf("OUPENG") != -1) { //欧鹏
return (FsUtil.Browser_Oupeng);
} else if(text.indexOf("OPERA") != -1) { //Opera
return (FsUtil.Browser_Opera);
} else if(text.indexOf("SAFARI") != -1) { //Safari
return (FsUtil.Browser_Safari);
}
return (FsUtil.Browser_Unknown);
};
内容格式化
/*** 格式化金额的显示
*/
FsFormat.formatMoney = function(money) {
var num = Number(money); //先转换成数值
if(isNaN(num)) {
return ("0.00");
}
var str = num.toString(); //再转换成字符串进行处理
var pos = str.indexOf(".");
if(pos == -1) { //整数,补2零
return (str+".00");
} else { //
var pair = str.split(".");
if(pair[1].length < 2) { //小数为1位时补1零
return (str+"0");
} else if(pair[1].length > 2) { //小数位数大于2,截断
return (pair[0]+"."+pair[1].slice(0,2));
}
return (str);
}
};
/** * 按给定的精度格式化金额的显示 */ FsFormat.formatMoneyByScale = function(money, scale) { //参数检查 if(isNaN(scale)) { scale = 2; } var suffix = ""; for(var i = 0; i < scale; ++i) { suffix = suffix.concat("0"); } var num = Number(money); //先转换成数值 if(isNaN(num)) { return ("0."+suffix); } var str = num.toString(); //再转换成字符串进行处理 var pos = str.indexOf("."); if(pos == -1) { //整数,补2零 return (str+"."+suffix); } else { // var pair = str.split("."); if(pair[1].length < scale) { //小数为1位时补1零 return (str+"0"); } else if(pair[1].length > scale) { //小数位数大于2,截断 return (pair[0]+"."+pair[1].slice(0,2)); } return (str); } };
代码注释较为详细,不再赘述。
相关文章推荐
- 《编写可维护的JavaScript》之编程实践
- 《编写可维护的JavaScript》之编程实践
- Symmetric Tree
- Binary Tree Level Order Traversal II
- Remove Element
- Balanced Binary Tree
- House Robber
- Reverse Vowels of a String
- 梳理js-工作原理
- 梳理jsp-工作原理
- 深入理解javascript的作用域--函数声明为什么会前置
- javascript 数组
- javascript面向对象技术
- javascript根据键盘key值触发按钮
- js 发送服务端请求
- jsonp详解
- 跟我学《JavaScript高程3》第三讲,课程笔记
- JVM性能调优监控工具jps、jstack、jmap、jhat、jstat使用详解
- js的闭包解决百度地图的信息窗口问题
- js遍历