js有indexOf方法,却没有像java一样的startsWith 或者 endsWith 这样的方法。
比如下面的例子:(功能:希望输入的值不包含空格)
if(str.indexOf(' ') != -1 ){
alert("不能含有空格");
}
这个方法可以检查到 str 的开头,中间,结尾是不是空格。
但如果用下面这个方法,却只能检测到 str 中间 和 结尾的空格,检测不到str开头的空格。
if(str.indexOf(' ') > 0){
alert("不能含有空格");
}
因为indexOf 的结果是从0开始的, 而 > 0 就是说排除了第一个 !
js中startWith和endWith的扩展:
String.prototype.endWith = function(str){
if(str==null || str=="" || this.length == 0 ||str.length > this.length){
return false;
}
if(this.substring(this.length - str.length)){
return true;
}else{
return false;
}
return true;
};
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;
};