js-字符串操作与功能实现-运用
1 字符串合并多个空格(全局匹配)
function formateSpace(str) { var regExp = /\s+/g; return str.replace(regExp, ''); } console.log( formateSpace('ss 11 22') ); // 'ss1122'
2.1 保留字符串中的数字
function getNum(str){ var regExp = /[^\d]/g; // 除了数字外的其他字符串 return str.replace(regExp, ''); } console.log( getNum('23ss11') ); // '2311'
2.2 保留字符串中的中文
function getCN(str){ var regExp = /[^\u4e00-\u9fa5\uf900-\ufa2d]/g; // 除了中文外的其他字符串 return str.replace(regExp, ''); } console.log( getCN('李四23ss11张三') ); // '李四张三'
3 获取字节长度
function getLen(str) { var regExp = /^[\u4e00-\u9fa5\uf900-\ufa2d]+$/; if (regExp.test(str)) { // 中文 console.log('cn'); return str.length*2; } else { var oMatches = str.match(/[\x00-\xff]/g); // 数组 var oLength = str.length*2 - oMatches.length; return oLength; } } console.log( getLen('张三') ); // 4 console.log(getLen('abc')); // 3
4 html标签转义
/* 转义字符串 */ function htmlEscape(str) { return str.replace(/[<>"&]/g, (item, index, originStr) => { switch (item) { case '<': return '<'; case '>': return '>'; case '&': return '&'; case '\"': return '"'; } }) }; let str = "<p>123</p><br>" console.log( htmlEscape(str) ); // '<p>123</p><br>'