本文介绍在 JavaScript 中为 String 原型扩展 startWith 和 endWith 方法的两种实现方式。第一种利用正则表达式快速判断字符串首尾匹配;第二种通过 substr 和 substring 进行长度校验与子串比对。文章包含完整代码示例及 URL 检测的实际应用场景,帮助开发者简化前端字符串操作逻辑。
正则表达式实现 startWith 和 endWith
一、利用正则表达式构建 startWith 与 endWith 功能函数
代码示例如下:
String.prototype.startWith=function(str){
var reg=new RegExp("^"+str);
return reg.test(this);
}
//验证通过,可直接调用 str.endWith("abc")
String.prototype.endWith=function(str){
var reg=new RegExp(str+"$");
return reg.test(this);
} 基于 substr 和 substring 的实现方式
二、JavaScript 实现 startWith 与 endWith 功能函数
代码示例如下:
<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/ 起始
}