js常用函数汇总

/**
 * 根据电话号码获取位置信息
 * @param phoneNo 电话号码
 * @param succFunc 调用接口成功的回调函数
 * 		回调函数入参的数据格式如下:
 * 			{
			  "mobile": "18576648552",
			  "province": "广东",
			  "isp": "中国联通",
			  "stock": "1",
			  "amount": "10000",
			  "maxprice": "0",
			  "minprice": "0",
			  "cityname": "深圳"
			}
 */
function getPositionByPhoneNo(phoneNo, succFunc)
{
	$.ajax({
		url: "http://virtual.paipai.com/extinfo/GetMobileProductInfo",
		type: "post",
		data: {mobile: phoneNo, amount: 10000},
		dataType: "jsonp",
		jsonp: "callname",
		jsonpCallback: "getPhoneNumInfoExtCallback",
		success: function(data){
			if(succFunc)
			{
				succFunc(data);
			}
		},
		error: function(xhr, errorCode){
			console.log("根据手机号获取归属地服务失败【前端】");
			if(succFunc)
			{
				succFunc({});
			}
		}
	});
}

/**
 * 将数字金额进行千位分隔
 * @param number 需要分隔的数字
 * @return 返回分割后的数字
 */
function formatFloatToThousand(number) 
{
	number = number.toString();
	var resultArray = [];
	var pointPosi = number.indexOf("."); // 取得小数点的位置
	var int = pointPosi == -1 ? number : number.substring(0, pointPosi); // 取得小数中的整数部分
	var float = pointPosi == -1 ? ‘‘ : number.substring(pointPosi + 1, number.length);
	var remainSum = int.length % 3; // 超过 3 的位数
	if(int.length < 3)
	{
		return number;
	}
	if(remainSum == 0)
	{
		resultArray = resultArray.concat(int.match(/\d{3}/g));
	}
	else
	{
		resultArray.push(int.substring(0, remainSum));
		int = int.substring(remainSum);
		resultArray = resultArray.concat(int.match(/\d{3}/g));
	}
	return pointPosi == -1 ? resultArray.join(‘,‘) : resultArray.join(‘,‘) + ‘.‘ + float;
}

/**
 * 测量文本的宽度
 * @param $source 需要测量文本宽度的 jquery 对象
 */
function measureTxtWidth($source)
{
	var txtWidth = null;
	var text = $source.text();
	var $span = $("<span>" + text + "</span>").appendTo("body");
	$span.css({whiteSpace: "nowrap", font: $source.css("font")});
	txtWidth = $span.width();
	$span.remove();
	return txtWidth;
}

使用新浪开放 api 获取当前位置:
http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js
返回的数据格式如下:
{
  "ret": 1,
  "start": "180.149.132.0",
  "end": "180.149.159.255",
  "country": "中国", // 国家
  "province": "北京", // 省份
  "city": "北京", // 城市
  "district": "",
  "isp": "电信", // 运营商
  "type": "企业",
  "desc": "中国电信集团电信"
}

/**
 * 获取地理定位信息,使用腾讯地图进行定位
 * @param getSuccFunc 获取成功的回调函数回调函数
 */
function getGeolocation(getSuccFunc)
{
	var succResult = {}; // 请求位置成功的结果
	var geolocation = new soso.maps.Geolocation();
	var positionParam = {
		locationMode: "CLIENT_IP" // ip定位
	};
	var positionCallback = function(data, status){
		if(status === "OK")
		{
			if(data && data.latLng)
			{
				succResult.latitude = data.latLng.lat; // 纬度
				succResult.longitude = data.latLng.lng; // 经度
			}
		}
		if(getSuccFunc)
		{
			getSuccFunc(succResult);
		}
	};
	geolocation.position(positionParam, positionCallback);
}

/**
 * 将数字转换成字符串的通用方法
 * 说明:直接使用 toFixed 方法会进行四舍五入,因此写一个将数字转换为指定小数位数字符串的方法
 * @param sourceData 源数据
 * @param decimalLen 小数的位数
 */
function numberToString(sourceData, decimalLen)
{
	decimalLen = typeof(decimalLen) == undefined ? 0 : decimalLen;
	var result = sourceData + "";
	var integerStr = null; // 整数部分
	var decimalStr = null; // 小数部分
	if(result.indexOf(".") == -1)
	{
		result = Number(result).toFixed(decimalLen);
	}
	else
	{
		integerStr = result.substring(0, result.indexOf(".")); // 整数部分
		decimalStr = /\.\d+/.exec(result); // 小数部分
		decimalStr = Number(decimalStr);
		decimalStr = decimalStr.toPrecision(decimalLen).substr(0, decimalLen + 2);
		result = integerStr + decimalStr.substr(1);
	}
	return result;
}

/**
 * 根据电话号码获取位置信息,使用拍拍开放 api
 * @param phoneNo 电话号码
 * @param succFunc 调用接口成功的回调函数
 * 		回调函数入参的数据格式如下:
 * 			{
			  "mobile": "18576648552",
			  "province": "广东",
			  "isp": "中国联通",
			  "stock": "1",
			  "amount": "10000",
			  "maxprice": "0",
			  "minprice": "0",
			  "cityname": "深圳"
			}
 */
function getPositionByPhoneNo(phoneNo, succFunc)
{
	$.ajax({
		url: "http://virtual.paipai.com/extinfo/GetMobileProductInfo",
		type: "post",
		data: {mobile: phoneNo, amount: 10000},
		dataType: "jsonp",
		jsonp: "callname",
		jsonpCallback: "getPhoneNumInfoExtCallback",
		success: function(data){
			if(succFunc)
			{
				succFunc(data);
			}
		},
		error: function(xhr, errorCode){
			console.log("根据手机号获取归属地服务失败【前端】");
		}
	});
}
时间: 2024-11-04 08:42:47

js常用函数汇总的相关文章

非常实用的PHP常用函数汇总

这篇文章主要介绍了非常实用的PHP常用函数,汇总了加密解密.字符串操作.文件操作.SQL注入等函数的实例与用法说明,在PHP项目开发中非常具有实用价值,需要的朋友可以参考下 本文实例总结了一些在php应用开发中常用到的函数,这些函数有字符操作,文件操作及其它的一些操作了,分享给大家供大家参考.具体如下: 1.PHP加密解密 PHP加密和解密函数可以用来加密一些有用的字符串存放在数据库里,并且通过可逆解密字符串,该函数使用了base64和MD5加密和解密. 复制代码 代码如下: function

js 常用函数

document.getElementById("email").setAttribute("属性","属性名");//动态添加ID.class等 document.getElementById("email"). remoAttribute("属性","属性名");//动态删除属性.如ID.Class等 js 常用函数,布布扣,bubuko.com

PHP常用函数汇总

非常实用的PHP常用函数汇总:http://www.jb51.net/article/58610.htm PHP开发过程中常用函数收藏:http://www.jb51.net/article/21415.htm 非常实用的PHP常用函数汇总:http://www.jb51.net/article/58610.htm PHP常用函数总结(180多个):http://www.jb51.net/article/101179.htm 操作数据库的:http://www.jb51.net/article/

JS常用函数大全

免疫bodyclick方法 这个是个比较好的方法,一个弹出窗口,要设定在任何其他地方点击这个窗口会自动消失,但点这个窗口内部是没事的.那么就要用到这个方法了. // (对body点击产生效果免疫的部分, 阻止冒泡body事件) // 通过ID屏蔽->@args(event, targetID) function blockClickToBodyById(a,b){return b==$(a.target).prop("id")||$(a.target).parents("

js常用函数整理

前言 整理了一些js常用函数,包括浏览器兼容, 常用字符串处理,获取信息以及移动端信息获取等 ,版本不断补充更新中, 其中大部分函数都已经验证过,如果有错误请及时反馈或者有好的一些工具函数,也可以提出来添加进去,针对相同作用的不同函数, 我会进行优化调整 并且测试,尽可能保证个浏览器兼容,排除冲突等. 先放出50个左右  JS代码如下   可直接copy到JS文件当中,目录不代表顺序,有些函数目录中或许没有显示.如有缺少 还请提出 让我更好的完善.  代码 /** * JSFrame Name:

JS常用函数用途小记

concat() 方法用于连接两个或多个数组. 该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本. var a = [1,2,3]; document.write(a.concat(4,5)); shift() 方法用于把数组的第一个元素从其中删除,并返回第一个元素的值. var arr = new Array(3) arr[0] = "George" arr[1] = "John" arr[2] = "Thomas" document

js常用函数和常用技巧

学习和工作的过程中总结的干货,包括常用函数.常用js技巧.常用正则表达式.git笔记等.为刚接触前端的童鞋们提供一个简单的查询的途径,也以此来缅怀我的前端学习之路. PS:此文档,我会持续更新. Ajax请求 jquery ajax函数 我自己封装了一个ajax的函数,代码如下: var Ajax = function(url, type success, error) { $.ajax({ url: url, type: type, dataType: 'json', timeout: 100

javascript中常用函数汇总

js中函数很多,在实际项目开发中,函数的应用可以很大程度上简化我们的代码,所以在此记下开发中js中常用的函数,增强记忆. 1.isNaN(X):函数用于检查其参数是否是非数字值. 如果 x 是特殊的非数字值 NaN(或者能被转换为这样的值),返回的值就是 true.如果 x 是其他值,则返回 false.(是非数字值则为true,是数字则返回false) isNaN() 函数通常用于检测 parseFloat() 和 parseInt() 的结果,以判断它们表示的是否是合法的数字.当然也可以用

JavaScript之Array常用函数汇总

[20141121]JavaScript之Array常用功能汇总 *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important; } /* BLOCKS =============================================================================*/ p, blockquote, ul, ol, dl, table