"use strict"; cc._RF.push(module, 'e783aY1FgZLkIb8Lnntomdo', 'string_util'); // Scripts/util/string_util.js "use strict"; /*-----------------------------------------------------+ * 字符串相关处理 * @author whjing2012@163.com +-----------------------------------------------------*/ //
xxx#1xxx
window.StringUtil = { regex: /(<.*?>|#\d*|[^<>#]+)/ig, parse: function parse(str, handler) { // handler = handler || 'handler'; return str; var arr = str.match(this.regex); str = ""; var end_tags = []; for (var i = 0, n = arr.length; i < n; i++) { var s = arr[i]; //Log.info("====>", s, s.charAt(0)); if (s == "") { if (end_tags.length > 0) { str += end_tags.pop(); } } else if (s.length > 1 && s.charAt(0) == "#") { var face = s.substr(1); str += ""; } else if (s.length > 4 && s.charAt(0) == '<') { var s1 = s.substr(1, 3); var s_end = s.substr(s.length - 2, 2); var end_tag = ""; if (s1 == "ass") { var a = s.match(/"; } } else if (s1 == "img") { var a = s.match(/\w+=[^\s>]+/ig); if (!a) continue; for (var j = 0, m = a.length; j < m; j++) { var s2 = a[j].split("="); if (s2.length < 2) continue; if (s2[0] == "src") { str += ""; } } } else { var a = s.match(/\w+=[^\s>]+/ig); if (!a) continue; for (var j = 0, m = a.length; j < m; j++) { var s2 = a[j].split("="); if (s2.length < 2) continue; var s3 = s2[1].replace(/^['"]|['"]$/ig, ''); if (s2[0] == "fontcolor" || s2[0] == "fontColor") { str += ""; end_tag = "" + end_tag; } else if (s2[0] == "fontsize") { str += ""; end_tag = "" + end_tag; } else if (s2[0] == "click") { str += ""; end_tag = "" + end_tag; } else if (s2[0] == "href") { str += ""; end_tag = "" + end_tag; } else if (s2[0] == "outline") { var s4 = s2[1].split(","); if (s4.length < 2) continue; var color = "#fffff"; var width = 1; if (s4[0].length > 3) { color = s4[0]; width = s4[1]; } else { color = s4[1]; width = s4[0]; } str += ""; end_tag = "" + end_tag; } } } if (s_end == "/>") { str += end_tag; } else { end_tags.push(end_tag); } } else { str += s; } } return str; }, //处理字符串,返回处理后的string,和资源数组resArr, parseStr: function parseStr(str, handler) { var arr = str.match(/(<.*?>|#\d*|[^<>#]+)/ig); str = ""; var end_tags = []; var arr_1 = []; for (var i = 0, n = arr.length; i < n; i++) { var s = arr[i]; if (s == "") { if (end_tags.length > 0) { str += end_tags.pop(); } } else if (s.length > 1 && s.charAt(0) == "#") { var face = s.substr(1); str += ""; } else if (s.length > 4 && s.charAt(0) == '<') { var s1 = s.substr(1, 3); var s_end = s.substr(s.length - 2, 2); var end_tag = ""; if (s1 == "ass") { var a = s.match(/"; arr_1.push(a[1]); } } else if (s1 == "img") { var a = s.match(/\w+=[^\s>]+/ig); if (!a) continue; for (var j = 0, m = a.length; j < m; j++) { var s2 = a[j].split("="); if (s2.length < 2) continue; if (s2[0] == "src") { str += ""; arr_1.push(s2[1]); } } } else { var a = s.match(/\w+=[^\s>]+/ig); if (!a) continue; for (var j = 0, m = a.length; j < m; j++) { var s2 = a[j].split("="); if (s2.length < 2) continue; var s3 = s2[1].replace(/^['"]|['"]$/ig, ''); if (s2[0] == "fontcolor" || s2[0] == "fontColor") { str += ""; end_tag = "" + end_tag; } else if (s2[0] == "fontsize") { str += ""; end_tag = "" + end_tag; } else if (s2[0] == "click") { str += ""; end_tag = "" + end_tag; } else if (s2[0] == "href") { str += ""; end_tag = "" + end_tag; } else if (s2[0] == "outline") { var s4 = s2[1].split(","); if (s4.length < 2) continue; var color = "#fffff"; var width = 1; if (s4[0].length > 3) { color = s4[0]; width = s4[1]; } else { color = s4[1]; width = s4[0]; } str += ""; end_tag = "" + end_tag; } } } if (s_end == "/>") { str += end_tag; } else { end_tags.push(end_tag); } } else { str += s; } } return { string: str, resArr: arr_1 }; }, // 给文本设置字符串 先做解析处理 richtextSetString: function richtextSetString(richtext, str, handler) { richtext.string = this.parse(str); this.richtextClick(richtext, handler); }, richtextClick: function richtextClick(richtext, handler) { handler = handler || 'handler'; for (var i = 0; i < richtext._labelSegments.length; ++i) { var labelSegment = richtext._labelSegments[i]; if (labelSegment._clickHandler) { labelSegment._clickParam = labelSegment._clickParam || labelSegment._clickHandler; labelSegment._clickHandler = handler; } } }, //拆分成字符 splitStr: function splitStr(str) { var list = {}; }, util_num_chn: ["零", "一", "二", "三", "四", "五", "六", "七", "八", "九", "十"], util_num_std: ["零", "十", "百", "千", "万", "亿"], //数字转换成小写中文 numToChinese: function numToChinese(value) { return value; // value = Number(value) || 0; // value_str = String(value); // var array = value_str.split(""); // var length = array.length; // var flag = false; // var str = ""; // var len = 0; // if(length > 13){ // print("只支持13位数字") // return // } // for(var k in array){ // var v = array[k]; // if(v.charAt == "0" && length > 1){ // flag = true; // }else{ // } // } } }; module.exports = StringUtil; cc._RF.pop();