公用的stringUtil工具

(function(){
	var ISCHINESE = /[u4e00-u9fa5]/;

	var getData =  function( value , maxLenth , isStrick ){
		value = value + '';
		var total = 0 , legelIndex = value.length;
		if( !isStrick ){ 
			return {
				total : legelIndex ,
				index : legelIndex
			};
		}
		for( var i = 0 , len = value.length ;i  < len ; i ++ ){
			var key = value.charAt( i );
			total += ISCHINESE.test(key) ? 2 : 1;
			maxLenth && total <= maxLenth &&( legelIndex = i+1 );
		}
		return {
			total : total ,
			index : legelIndex
		};
	}

	var stringUtil = {
		/**
		 * 根据要求的最大值,返回合法
		 * @param  {[type]}  value    需要检查的字符串
		 * @param  {[type]}  maxLength   校验字符串的最大长度
		 * @param  {Boolean} isStrick 是否要求中文算两个字符
		 * @return {[type]}           返回字符串的长度
		 */
		getLegalLengthValue : function( maxLenth , isStrick ){
              var value = this; var data = getData( value , maxLenth , isStrick ); return value.substring( 0 , data.index ); }, getLength : function( isStrick ){
             var value = this; var data = getData( value , false , isStrick ); return data.total; } }; for( var i in stringUtil ){String.prototype[i] = stringUtil[i] }
})()

  

原文地址:https://www.cnblogs.com/lztkiss/p/4272014.html