JavaScript中判断字符串是否以固定字符开始.可以使用startsWith,但是存在兼容性问题。

使用ECMAScript 6中的String.prototype.startsWith()方法,其代码如下:

function stringStartsWith (string, prefix) {
    return prefix == '' || string.startsWith(prefix);
}

但是并不是所有的浏览器都支持这个方法,尤其是很多国产浏览器都使用的是比较旧的IE内核。

为了兼容IE浏览器,我们使用如下代码:

function stringStartsWith (string, prefix) {
    return string.slice(0, prefix.length) == prefix;
}

还有许多其他方法,例如

function startsWithCharAt(string, pattern) {
	for (var i = 0, length = pattern.length; i < length; i += 1) {
		if (pattern.charAt(i) !== string.charAt(i)) return false;
	}
	return true;
}

function startsWithArray(string, pattern) {
	for (var i = 0, length = pattern.length; i < length; i += 1) {
		if (pattern[i] !== string[i]) return false;
	}
	return true;
}

同理,如果要判断字符串是否以指定字符串结尾,可按照如下方法写:

function stringEndsWith (string, suffix) {
    return suffix == '' || string.slice(-suffix.length) == suffix;
}