WEB编程的套路——简单好用的js函数(2)

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

代码注释较为详细,不再赘述。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值