js常用函数汇总
来源: 阅读:1259 次 日期:2015-04-21 10:03:26
温馨提示: 小编为您整理了“js常用函数汇总”,方便广大网友查阅!

/**

* 根据电话号码获取位置信息

* @param phoneNo 电话号码

* @param succFunc 调用接口成功的回调函数

* 回调函数入参的数据格式如下:

* {

"mobile": "18576648552",

"province": "广东",

"isp": "中国联通",

"stock": "1",

"amount": "10000",

"maxprice": "0",

"minprice": "0",

"cityname": "深圳"

}

*/

function getPositionByPhoneNo(phoneNo, succFunc)

{

$.ajax({

url: "",

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 获取当前位置:

返回的数据格式如下:

{

"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: "",

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("根据手机号获取归属地服务失败【前端】");

}

});

}

更多信息请查看IT技术专栏

更多信息请查看脚本栏目
手机网站地址:js常用函数汇总
由于各方面情况的不断调整与变化, 提供的所有考试信息和咨询回复仅供参考,敬请考生以权威部门公布的正式信息和咨询为准!
关于我们 | 联系我们 | 人才招聘 | 网站声明 | 网站帮助 | 非正式的简要咨询 | 简要咨询须知 | 加入群交流 | 手机站点 | 投诉建议
工业和信息化部备案号:滇ICP备2023014141号-1 云南省教育厅备案号:云教ICP备0901021 滇公网安备53010202001879号 人力资源服务许可证:(云)人服证字(2023)第0102001523号
云南网警备案专用图标
联系电话:0871-65317125(9:00—18:00) 获取招聘考试信息及咨询关注公众号:hfpxwx
咨询QQ:526150442(9:00—18:00)版权所有:
云南网警报警专用图标
Baidu
map