js中startsWith 函数不能在任何浏览器兼容的问题

原创 2015年11月18日 20:38:22

在做js测试的时候用到了startsWith函数,但是他并不是每个浏览器都有的,所以我们一般要重写一下这个函数,具体的用法可以稍微总结一下

在有些浏览器中他是undefined 所以我们可以这样的处理一下、

 if (typeof String.prototype.startsWith != 'function') {
		 String.prototype.startsWith = function (prefix){
		  return this.slice(0, prefix.length) === prefix;
		 };
		}


这个需要放在页面刚要加载完成的函数里,不然不好使。


还有一种直接重写 不过我没测试过,你们可以测试一下:


 String.prototype.startWith=function(str){  
  if(str==null||str==""||this.length==0||str.length>this.length)  
   return false;  
  if(this.substr(0,str.length)==str)  
     return true;  
  else  
     return false;  
  return true;  
}  

有的说js中没有startsWith 和endWith这两个函数不过就算不声明有些浏览器他还是可以用的,不过为了兼容性还是希望重写一下。

if (typeof String.prototype.endsWith != 'function') {
 String.prototype.endsWith = function(suffix) {
  return this.indexOf(suffix, this.length - suffix.length) !== -1;
 };
}

采用正则表达式实现startWith、endWith效果函数


String.prototype.startWith=function(str){
var reg=new RegExp("^"+str);
return reg.test(this);
}
//测试ok,直接使用str.endWith("abc")方式调用即可
String.prototype.endWith=function(str){
var reg=new RegExp(str+"$");
return reg.test(this);
} 




版权声明:转载请注明出处哦!!

JS的trim() startWith() endWith() 方法

JS的trim() startWith() endWith() 方法   转载▼ ----------------------------------js去空格---------------...
  • u010046887
  • u010046887
  • 2015年01月12日 10:29
  • 14482

js中的indexOf以及startsWith和endsWith方法

js有indexOf方法,却没有像java一样的startsWith 或者 endsWith 这样的方法。 在js里,通通可以用 indexOf()!=-1 来代替。indexOf()!=-...
  • wuyou1336
  • wuyou1336
  • 2016年08月31日 11:42
  • 3525

js中的startWith、endWith、trim方法

// 导入excel  function importExcel(){   var uploadForm = document.getElementById("uploadFormId");  ...
  • huanghai200911
  • huanghai200911
  • 2014年11月27日 18:20
  • 360

Js Jquery 关于endWith() 和startWith() 的使用

javascript中字符串处理并没有 StartWith 和 EndWith 这俩个方法,这里说的是手动构建这俩个方法. JQuery 也是没有这俩个方法的,而是利用其丰富的选择器来达到此效果. ...
  • wjs7740
  • wjs7740
  • 2014年08月08日 09:43
  • 8360

ie不支持startWith和endWith

在做js测试的时候用到了startsWith函数,但是他并不是每个浏览器都有的,所以我们一般要重写一下这个函数,具体的用法可以稍微总结一下 $(document).ready(function() ...
  • silentmuh
  • silentmuh
  • 2016年11月24日 13:50
  • 1387

在javascript里 有关 indexOf 或者 startsWith 或者 endsWith 这样的方法

在js里,有indexOf 这样的方法,却没有像java一样的startsWith 或者 endsWith 这样的方法。 研究了半天,在js里,通通可以用 indexOf()!=-1 来代替。要...
  • lqclh502
  • lqclh502
  • 2013年07月19日 17:23
  • 16390

js 中startWith 和 endWith 方法

String.prototype.endWith=function(s){   if(s==null||s==""||this.length==0||s.length>this.length)  ...
  • u011072139
  • u011072139
  • 2015年01月16日 15:38
  • 10357

js中startsWith()使用

startsWith函数,时Java中的 在js使用时他并不是每个浏览器都有的,所以我们一般要重写一下这个函数 采用正则表达式实现startWith、endWith效果函数 S...
  • dxj124
  • dxj124
  • 2018年01月08日 15:30
  • 87

js startWith和endWith函数扩展

String.prototype.endWith=function(str){ if(str==null||str==""||this.length==0||str.length>this.leng...
  • awj3584
  • awj3584
  • 2013年11月28日 13:13
  • 2015

js中startWith和endWith的扩展

New Document function test(value){ var a = value.startWith("abc"); alert(...
  • ocean1010
  • ocean1010
  • 2011年07月08日 13:19
  • 1995
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:js中startsWith 函数不能在任何浏览器兼容的问题
举报原因:
原因补充:

(最多只允许输入30个字)