一些实用性较高的js方法

1、 获取字符串数值部分

  因为项目上我只负责功能的实现,所以很多页面并不是我自己搭的,但是 又会有些生手来搭出一些很不好获取标签内的数值的情况。

  比如:

?
1
2
3
< div >原价998现在只要
   < a >99.8!</ a >
  </ div >

像这种页面,有时候要获取里面的998或者98。就会变的有点麻烦。

通过我下面提供的方法,可以很方便的解决这种情况

?
1
2
3
4
function getNum(text) {
   var value = text.replace(/[^(0-9).]/ig, "" );
   return parseFloat(value);
}

这段方法很简短,实质上就是通过正则去匹配。将非数字或者小数点的字符替换成空的字符串(实际上就是删除)

2、获取设备信息

 
 
 
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
//#region 获取设备信息
 
var browser = {
   versions: function () {
     var u = navigator.userAgent, app = navigator.appVersion;
     return {
       trident: u.indexOf( 'Trident' ) > -1, //IE内核
       presto: u.indexOf( 'Presto' ) > -1, //opera内核
       webKit: u.indexOf( 'AppleWebKit' ) > -1, //苹果、谷歌内核
       gecko: u.indexOf( 'Gecko' ) > -1 && u.indexOf( 'KHTML' ) == -1, //火狐内核
       mobile: !!u.match(/AppleWebKit.*Mobile.*/), //是否为移动终端
       ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端
       android: u.indexOf( 'Android' ) > -1 || u.indexOf( 'Linux' ) > -1, //android终端或者uc浏览器
       iPhone: u.indexOf( 'iPhone' ) > -1, //是否为iPhone或者QQHD浏览器
       iPad: u.indexOf( 'iPad' ) > -1, //是否iPad
       webApp: u.indexOf( 'Safari' ) == -1, //是否web应该程序,没有头部与底部
       weixin: u.indexOf( 'MicroMessenger' ) > -1, //是否微信 (2015-01-22新增)
       qq: u.match(/\sQQ/i) == " qq" //是否QQ
     };
   }(),
   language: (navigator.browserLanguage || navigator.language).toLowerCase()
}
 
//实际使用的时候如下:
if (browser.versions.webKit) {
   //为苹果 谷歌内核执行的代码...
}
 
//#endregion

3.将字符串超出指定长度部分隐藏

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
/*
将字符串以指定长度显示,多余部分以省略号显示(len--显示长度
defaultStr--若字符串为空显示的字符串)
*/
String.prototype.splitString = function (len, defaultStr) {
   var result = "" ;
   var str = this .toString()
   if (str) {
     str = str.trim()
     if (str.length > len) {
       result = str.substring(0, len) + "..." ;
     }
     else {
       result = str;
     }
   }
   else {
     result = defaultStr;
   }
   return result;
}

4.将字符串长度减一

?
1
2
3
4
//长度减一
  String.prototype.delLast = function () {
    return this .substring(0, this .length - 1)
  }

5.将数字型字符串补全指定长度

?
1
2
3
4
5
6
7
8
9
10
//给数字型字符串固定指定长度
String.prototype.addZero = function (n) {
   var num = this
   var len = num.toString().length;
   while (len < n) {
     num = '0' + num;
     len++;
   }
   return num;
}

 6.用户昵称省略 

?
1
2
3
4
5
//用户昵称省略
  String.prototype.telHide = function () {
    var name = this
    return name.substr(0, 1) + "****" + name.substring(name.length - 1, name.length)
  }

转载于:https://www.cnblogs.com/zhangrui09/p/7986654.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值