本文详细讲解JavaScript中判断字符串是否以特定字符开头或结尾的三种实现方式。包括使用正则表达式、原生substr方法以及indexOf函数的具体代码示例与逻辑分析,帮助开发者根据实际需求选择最优方案。
使用正则表达式实现
在JavaScript中,可以通过正则表达式来模拟实现字符串的startsWith和endsWith功能。
具体代码实现如下:
String.prototype.startWith=function(str){
var reg=new RegExp("^"+str);
return reg.test(this);
}
String.prototype.endWith=function(str){
var reg=new RegExp(str+"$");
return reg.test(this);
}使用substr与substring方法实现
此外,还可以通过JavaScript原生字符串方法来实现startsWith和endsWith的效果。
相关代码如下:
<script type="text/javascript">
String.prototype.endWith=function(s){
if(s==null||s==""||this.length==0||s.length>this.length)
return false;
if(this.substring(this.length-s.length)==s)
return true;
else
return false;
return true;
}
String.prototype.startWith=function(s){
if(s==null||s==""||this.length==0||s.length>this.length)
return false;
if(this.substr(0,s.length)==s)
return true;
else
return false;
return true;
}
</script>
以下是具体的使用示例:
var url = location.href;
if (url.startWith('https://www.jb51.net'))
{
//如果当前url是以 https://www.jb51.net/ 开头
} 使用indexOf方法实现
第三种方法是利用indexOf函数来判断:
代码示例如下:
var index = str.indexOf('abc');
if(index==0){
//以'abc'开头
}