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中的indexOf以及startsWith和endsWith方法

js有indexOf方法,却没有像java一样的startsWith 或者 endsWith 这样的方法。 在js里,通通可以用 indexOf()!=-1 来代替。indexOf()!=-...

js 自己实现 endsWith startsWith contains

// endWith                 String.prototype.endsWith=function(str){                 if(str==null||...

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

JS的trim() startWith() endWith() 方法   转载▼ ----------------------------------js去空格---------------...

js 中startWith 和 endWith 方法

String.prototype.endWith=function(s){   if(s==null||s==""||this.length==0||s.length>this.length)  ...

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

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

js中startWith和endWith的扩展

New Document function test(value){ var a = value.startWith("abc"); alert(...

扩展Js startWith函数,类似Java中的startsWith

/** 对JavaScript 扩张,类似Java中this.jsonString.startsWith(prefix) 判断字符串是否是以str为开头的 */ String.prototype.s...

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

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

js string 的startwiths函数 以及 Array的indexOf函数

在项目中有用到JS中的string的startwiths函数,这个函数不是可兼容所有浏览器的,尤其是在手机的uc浏览器上,String本身没有支持这个函数,需要自己扩展: String.protot...
  • sonlife
  • sonlife
  • 2017年01月18日 15:43
  • 253

ie不支持startWith和endWith

在做js测试的时候用到了startsWith函数,但是他并不是每个浏览器都有的,所以我们一般要重写一下这个函数,具体的用法可以稍微总结一下 $(document).ready(function() ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:js中startsWith 函数不能在任何浏览器兼容的问题
举报原因:
原因补充:

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