La fonction startWith est utilisée lors des tests js, mais elle n'est pas disponible dans tous les navigateurs, nous devons donc généralement réécrire cette fonction. L'utilisation spécifique peut être brièvement résumée
Dans certains navigateurs. il n'est pas défini, nous pouvons donc le gérer comme ceci,
if (typeof String.prototype.startsWith != 'function') { String.prototype.startsWith = function (prefix){ return this.slice(0, prefix.length) === prefix; }; }
Cela doit être placé dans la fonction juste avant que la page ne soit chargée à l'intérieur, sinon ça ne marchera pas.
Il existe aussi une réécriture directe mais je ne l'ai pas testée. Vous pouvez la tester :
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; }
if (typeof String.prototype.endsWith != 'function') { String.prototype.endsWith = function(suffix) { return this.indexOf(suffix, this.length - suffix.length) !== -1; }; }
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); }