日期:2014-05-16  浏览次数:20367 次

扩展Javascript字符串处理

扩展Javascript字符串处理

?

做web前端开发,有时会发现原生js对字符串的处理方法很少(竟然不提供“替换所有”这类的方法),用起来不是很方便。

?

今天在网上找到了一些js 字符串处理的代码,记录下来,已备以后使用。

?

代码提供的方法有:

?

1.替换所有replaceAll()
2.反转:reverse()
3.移除左侧空格:ltrim()
4.移除右侧空格:rtrim()
5.移除前后空格:trim()
6.得到左起(10个)字符:lsubstr()
7.得到右起(10个)子符:rsubstr()
8.在字符串里查找另一字符串:位置从0开始(查找“i”):inStr()
9.在字符串里反向查找另一字符串:位置0开始(查找“i”):inStrRev()
10.计算字符串打印长度:lengthW()


11.是否是正确的IP地址(IPV4):isIPV4()
12.是否是正确的长日期:isLongDate()
13.是否是正确的短日期:isShortDate()
14.是否是正确的日期:isDate()
15.是否是手机(中国):isMobile()
16.是否是Email:isEmail()
17.是否是邮编(中国):isZipCode()
18.是否是有汉字:existChinese()
19.是否是合法的文件名/目录名:isFileName()
20.是否是有效链接:isUrl()
21.是否是有效的身份证 (中国):isIDCard()
22.是否是有效的电话号码(中国):isPhoneCall()

23.

是否是数字:isNumeric()
是否是正数:isNumeric('+')
是否是负数:isNumeric('-')
是否是整数:isNumeric('i')
是否是正整数:isNumeric('+i')
是否是负整数:isNumeric('-i')
是否是浮点数:isNumeric('f')
是否是正浮点数:isNumeric('+f')
是否是负浮点数:isNumeric('-f')

24.是否是颜色(#FFFFFF形式):isColor()
25.转换成全角:toCase()
26.对字符串进行Html编码:toHtmlEncode()

?

以下是源码

/*
 * *****************************************
 * 字符串函数扩充
 * *****************************************
 */

/*
 * ===========================================
 * 替换所有
 * ===========================================
 */
String.prototype.replaceAll = function(s1,s2) {
	return this.replace(new RegExp(s1,"gm"),s2);
}

/*
 * ===========================================
 * 字符串反转
 * ===========================================
 */
String.prototype.reverse = function() {
	var retStr = "";
	if (this&&this.length>0) {
		for (var i = this.length - 1; i >= 0; i--) {
			retStr += this.charAt(i);
		}
	}
	return retStr;
}

/*
 * ===========================================
 * 去除左边的空格
 * ===========================================
 */
String.prototype.ltrim = function() {
	return this.replace(/(^\s*)/g, "");
}

/*
 * ===========================================
 * 去除右边的空格
 * ===========================================
 */
String.prototype.rtrim = function() {
	return this.replace(/(\s*$)/g, "");
}

/*
 * ===========================================
 * 去除前后空格
 * ===========================================
 */
String.prototype.trim = function() {
	return this.replace(/(^\s*)|(\s*$)/g, "");
}

/*
 * ===========================================
 * 得到左边的字符串
 * ===========================================
 */
String.prototype.lsubstr = function(len) {
	if (isNaN(len) || len == null) {
		len = this.length;
	} else {
		if (parseInt(len) < 0 || parseInt(len) > this.length) {
			len = this.length;
		}
	}
	return this.substr(0, len);
}

/*
 * ===========================================
 * 得到右边的字符串
 * ===========================================
 */
String.prototype.rsubstr = function(len) {

	if (isNaN(len) || len == null) {
		len = this.length;
	} else {
		if (parseInt(len) < 0 || parseInt(len) > this.length) {
			len = this.length;
		}
	}
	return this.substring(this.length - len, this.length);
}

/*
 * ===========================================
 * 在字符串里查找另一字符串:位置从0开始
 * ===========================================
 */
String.prototype.inStr = function(str) {

	if (str == null) {
		str = "";
	}

	return this.indexOf(str);
}

/*
 * ===========================================
 * 在字符串里反向查找另一字符串:位置0开始
 * ===========================================
 */
String.prototype.inStrRev = function(str) {

	if (str == null) {
		str = "";
	}

	return this.lastIndexOf(str);
}

/*
 * ===========================================
 * 计算字符串打印长度
 * ===========================================
 */
String