在js里,有indexOf 这样的方法,却没有像java一样的startsWith 或者 endsWith 这样的方法。

研究了半天,在js里,通通可以用 indexOf()!=-1 来代替。要记得,这个indexOf()!=-1 和 indexOf()>0 得到的结果是不同的。

比如下面的例子:(功能:希望输入的值不包含空格)

function checkSize(str){
    if(str.indexOf(' ')!=-1){
    alert("不能含有空格");
}

这个方法可以检查到 str 的开头,中间,结尾是不是空格

可是如果选择了 下面这个方法,却只能检测到 str 中间 和 结尾的空格,检测不到str开头的空格。

function checkSize(str){
    if(str.indexOf(' ')>0){
    alert("不能含有空格");
}

很奇怪的。呵呵。。。。

对js中startWith和endWith的扩展

function closeUl(code) {
	alert(code);
	var list = document.getElementsByTagName("li");
	for ( var i = 0; i < list.length; i++) {
		var curLi = list[i].id;
		if (curLi.indexOf(code) != -1 && curLi.length != code.length
				&& curLi.startWith(code)) {
			alert(curLi);
			if (document.getElementById(curLi).style.display == "none") {
				if (curLi.length == code.length + 5) {
					document.getElementById(curLi).style.display = "block";
				}
			} else {
				document.getElementById(curLi).style.display = "none";
			}
		}
	}
}
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) == str)
		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;
}
你可能感兴趣的内容
0条评论

selfly

交流QQ群:32261424
Owner