您的位置:首页 > Web前端 > JavaScript

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.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);
}
};


代码注释较为详细,不再赘述。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: