javascript 字符串反转 strip_tags 字符串常用的自定义函数,加载css etc.

字符串反转

String.prototype.reverse = function() {
  var a = this.split('');
  for (var i = 0, j = a.length-1; i < j; i++, j--) {
    var tmp = a[i];
    a[i] = a[j];
    a[j] = tmp;
  }
  return a.join('');
}

// test
var s = "Hello world!";
console.log(s.reverse()); 
 // !dlrow olleH

 

// 去字符串#后面的部分  http://localhost:8090/admin/activity.html#list => list
String.prototype.hash = function() {
    var index = this.lastIndexOf("#");
    return index < 0 ? "" : this.substring(index);
};

// 字符串宽度 汉字算1个 英文字母数字算半个
String.prototype.width = function() {
    var c = 0, inc;
    for (var i = 0, n = this.length; i < n; i++) {
        inc = this.charCodeAt(i) < 256 ? 0.5 : 1;
        c += inc;
    }
    return c;
}

String.prototype.mb_substr = function(w) {
    var c = 0, inc, i;
    for (i = 0, n = this.length; i < n && c <= w; i++) {
        inc = this.charCodeAt(i) < 256 ? 0.5 : 1;
        c += inc;
    }
    return this.substring(0, i);
}

// 返回整数数组的最大值
Array.prototype.max = function() {
    var max = this[0];
    for (var i = 1, n = this.length; i < n; i++) {
        if (this[i] > max) {
            max = this[i];
        }
    }
    return max;
};

// 去掉html中的标签  <div><p>...
function strip_tags(html) {
    var div = document.createElement("div");
    div.innerHTML = html;
    return (div.textContent || div.innerText || "");
}

// 去的当前年月 201806
function get_yyyymm() {
    var date = new Date();
    var month = date.getMonth()+1;
    return (date.getYear() + 1900) + ""+ (month<10 ? "0"+month : month);
}

// 引入css(jquery-ui.css), 到head >link:first-child前
// load css before all <link> tags
function css(href) {
    var link = document.createElement("link");
    link.type = "text/css";
    link.rel = "stylesheet";
    link.href = href;
    var dom = document.head.querySelector("link");
    document.head.insertBefore(link, dom);
}

  

* 如果第二个参数 bUnicode255For1 === true,则所有字符长度为 1
否则如果字符 Unicode 编码 > 255 则长度为 2

input: 'hello world, 牛客', false

output: 17

function strLength(s, bUnicode255For1) {
    var len = 0;
    for (var i = 0, n = s.length; i < n; i++) {
        if (s.charCodeAt(i) > 255) {
            len += bUnicode255For1 ? 1:2;
        } else {
            len += 1;
        }
    }
    return len;
}

  

转载于:https://www.cnblogs.com/mingzhanghui/p/9168316.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值