angular过滤器 -- 截取字符串

使用angular定义用于截取特定长度的过滤器,并使用自定义符号(包括“...”)在末尾进行替换

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>stringSub</title>
</head>
<script src="http://cdn.static.runoob.com/libs/angular.js/1.4.6/angular.min.js"></script>
<body ng-app="myApp" ng-controller="myController">
<span style="background: #ddd;border-radius: 4px;padding:2px;">{{arr | cutTxt:55:"..."}}</span>
</body>
<script>
    var app = angular.module(‘myApp‘, []);
    app.controller(‘myController‘, function($scope) {
        $scope.arr="这是一个技术更新迅猛的年代!";
    });

    app.filter(‘cutTxt‘, function () {
        return function (value, max,tail) {
            var judgeLength = 0,cutString = new String();
            var re = /^[\u4E00-\u9FA5]$/;
            if (!value){
                return ‘‘
            };
            max = parseInt(max);
            for (var i = 0; i < value.length; i++) {
                if (judgeLength >= max) {
                    cutString = cutString.substr(0, cutString.length-1);
                    cutString = cutString.concat(tail||"..");
                    return cutString;
                }

                var singleChar = value.charAt(i);
                if (re.test(singleChar)) {
                    judgeLength+=2;
                    console.log(singleChar);
                }
                else{
                    judgeLength++;
                }
                cutString = cutString.concat(singleChar);
            }
            return cutString;
        };
    });
</script>
</html>

未限制长度时:

限制长度时:

时间: 2024-10-08 10:33:39

angular过滤器 -- 截取字符串的相关文章

Angular过滤器

angular中的过滤器有: currency 过滤货币 number  过滤数字, date  过滤日期 json 把js对象过滤为json字符串 limitTo  截取字符串,参数是正数则从左往右截取,负数从末尾开始数起,没有0,从1开始 lowercase 把字符串转为小写 uppercase 把字符串转为大写 orderBy  根据给定的对象的属性名对对象进行排序,可以升序也可以降序 参数为 true false $filter  在脚本中写过滤器 .filter 自定义过滤器 <!DO

js常用的4种截取字符串方法

平常经常把这几个api的参数记混了,于是打算记录下来,当不确定的时候在拿出来翻翻: 在做项目的时候,经常会需要截取字符串,所以常用的方法有slice().substr().substring().match()方法等,四个方法的使用如下所示: 1 <script type="text/javascript"> 2 // 截取字符串的方法 3 //注意1.字符串的截取都是从左向右,不会有从右向左截取:2.slice与substring方法,截取返回的字符串包含numStart

面试题之java 编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。 要求不能出现截半的情况

题目:10. 编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串. 但是要保证汉字不被截半个,如“我ABC”4,应该截为“我AB”,输入“我ABC汉DEF”,6,应该输出为“我ABC”而不是“我ABC+汉的半个”. 一.需要分析 1.输入为一个字符串和字节数,输出为按字节截取的字符串-------------->按照字节[byte]截取操作字符串,先将String转换成byte类型 .2.汉字不可以截半----------------------------------

JS简单应用之截取字符串函数以及replace,split函数

JS截取字符串:slice(),substring()和substr()1.substr 方法返回一个从指定位置开始的指定长度的子字符串.stringvar.substr(start [, length ])参数stringvar必选项.要提取子字符串的字符串文字或 String 对象.start必选项.所需的子字符串的起始位置.字符串中的第一个字符的索引为 0.length可选项.在返回的子字符串中应包括的字符个数.说明如果 length 为 0 或负数,将返回一个空字符串.如果没有指定该参数

Java机试题目_怎样截取字符串

面试题1  怎样截取字符串 考题题干 编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串.但是要保证汉字不被截半个,如"我ABC"4,应该截为"我AB",输入"我ABC汉DEF"6,应该输出"我ABC",而不是"我ABC+汉的半个". 试题分析 本面试题容易产生困惑的是中文字符和英文字符,在这里需要考虑汉字和英文字符的占用字节数问题,中文字符占两个字节,英文字符占一个字节,理解了这

C#截取字符串

public class SubStrHelper { /// <summary> /// 截取字符串长度,中文二字节 /// </summary> /// <param name="str"></param> /// <param name="length">字节长度</param> /// <returns></returns> public static strin

截取字符串空格

----截取字符串左侧空格 ---- ltrim(表达式) select LTRIM(FName),Fname from T_Personselect LEN(   123),LTRIM(   123) ----截取字符串右侧空格---- rtrim(表达式) select LEN(   123),rtrim(123   )

js如何截取字符串右边指定长度的字符

js如何截取字符串右边指定长度的字符:通常情况下都从字符串的左边开始截取字符串,下面介绍一下如何从字符串的右边截取字符串.代码如下: String.prototype.right=function(length_) { var _from=this.length-length_; if(_from<0) _from=0; return this.substring(this.length - length_,this.length); } var str="antzone"; c

文章生成器,Split方法截取字符串。从硬盘读取文件,和向硬盘存储文件参考代码

string x, y; private void button2_Click(object sender, EventArgs e) { textBox2.Clear(); if (button4.Enabled == false) { string[] shuzu = y.Split(new char[]{'.'}); //用split方法截取字符串 string news = ""; // 将截取字符串后的语句打乱顺序 for (int i = 0; i < shuzu.L