处理字符串的一些js/jq方法(去除HTML,去除空格,计算真实长度,截取中英文字符)

时间:2022-04-27 20:12:12
去除html标签:
function del_html_tags(str)
{
    var words = '';
    words = str.replace(/<[^>]+>/g,"");
    return words;
}
去除空格:
function Trim(str,is_global)
{
    var result;
    result = str.replace(/(^\s+)|(\s+$)/g,"");
    if(is_global.toLowerCase()=="g")
    result = result.replace(/\s/g,"");
    return result;
} 
计算真实长度:
备注:
js的length方法计算的是个数,一个汉字长度是1,一个字母长度也是1。本方法里面,定义:一个汉字长度为1,相当于2个字母的长度
function get_length(str)
{
    var char_length = 0;
    for (var i = 0; i < str.length; i++){
        var son_char = str.charAt(i);
        //如果是汉字,长度大于2,其他任何字符(包括¥等特殊字符,长度均为1)另外:根据需求规则,限制n个字,一个字=2个字符
        encodeURI(son_char).length > 2 ? char_length += 1 : char_length += 0.5;
    }
        return char_length; 
}
截取字符串:
function cut_str(idname, maxlen)
{
    var str = $('#'+idname).val();
    var char_length = 0;
    var sub_len = 0;
    for (var i = 0; i < str.length; i++)
    {
        var son_str = str.charAt(i);
        //如果是汉字,长度大于2,其他任何字符(包括¥等特殊字符,长度均为1)另外:根据需求规则,限制n个字,本方法里面,一个字(汉字)的长度=2个字符的长度,可根据需要改动
        encodeURI(son_str).length > 2 ? char_length += 1 : char_length += 0.5;
        //如果长度大于给定的n个字,就进行截取
        if (char_length >= maxlen)
        {
           
            var sub_len = char_length == maxlen ? i+1: i;
            var tmp=$('#'+idname).val().substr(0, sub_len);
            $('#'+idname).val(tmp);
            break;
        }
    }
}