正则案例
字符串合并多个空格(全局匹配)
function formateSpace(str) {
var regExp = /\s+/g;
return str.replace(regExp, '');
}
console.log( formateSpace('ss 11 22') );
保留字符串中的数字
function getNum(str){
var regExp = /[^\d]/g;
return str.replace(regExp, '');
}
console.log( getNum('23ss11') );
保留字符中的中文
function getCN(str){
var regExp = /[^\u4e00-\u9fa5\uf900-\ufa2d]/g;
return str.replace(regExp, '');
}
console.log( getCN('李四23ss11张三') );
获取字节长度
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('张三') );
console.log(getLen('abc'));
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) );