想了老半天了,记录一下

app.directive("percentageCheck", function () {
return {
restrict: 'A',
require: 'ngModel',
link: function (scope, element, attr, ctrl) {
if (ctrl) {
var customValidator = function (value) {
var temp = parseInt(value.split("%")[0]);
var validity = ctrl.$isEmpty(value) || (temp > 0 && temp < 100);
ctrl.$setValidity("percentageCheck", validity);
return validity ? value : undefined;
};
ctrl.$formatters.push(customValidator);
ctrl.$parsers.push(customValidator);
}
}
};
});

再加上正则表达式

<input maxlength="8" percentage-check ng-pattern="/^\d+\.?\d{0,2}%$/">

完全限制住

搞定收工

angularJS 控制输入的百分数在0%-100%之间的更多相关文章

  1. 编程实例--for循环,找出0~100之间与8有关的正整数

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  2. 编写python程序读入1到100之间的整数,然后计算每个数出现的次数,输入0表示结束输人,输入数据不包括0。如果数出现的大现如果大于1,输出时使用复数times

    #-*- coding:UTF-8 -*- #环境:python3 print("Enter the numbers between 1 and 100:") enterList= ...

  3. Demo 示例控制输入光标位置

    <!DOCTYPE html> <html> <head> <meta charset=utf-8 /> <meta name="aut ...

  4. 自定义Edit控件控制输入范围

    //自定义Edit,实现十六进制输入控制,使用OnChar()函数实现 //MyEdit.h #pragma once class CMyEdit : public CEdit { DECLARE_D ...

  5. 『开源』设置系统 主音量(0~100 静音) VolumeHelper 兼容 Xp Win7 .Net 20 AnyCPU

    背景: 近来的生活一团乱麻,没心态写高大上的代码,于是就着手 写了几个 辅助类. 在整理 InkFx.Utils 时,发现有几个 辅助类 只写了定义,没有实现函数体,于是就 花了1天时间 完善了一下. ...

  6. PYTHON练习题 二. 使用random中的randint函数随机生成一个1~100之间的预设整数让用户键盘输入所猜的数。

    Python 练习 标签: Python Python练习题 Python知识点 二. 使用random中的randint函数随机生成一个1~100之间的预设整数让用户键盘输入所猜的数,如果大于预设的 ...

  7. js 控制输入文字个数(换行不算)

    如题,换行符在textarea中是要当成一个字符的.用普通的maxlength属性就不行了,于是想到通过事件来控制输入文字的长度. 注意哦,回车换行不能算成字符.这样的话,普通的substring等方 ...

  8. textbox 控制输入整数,小数

    /// <summary> /// keypress事件控制输入 /// </summary> /// <param name="sender"> ...

  9. 正则-input控制输入

    大于0的数字:/^(?!0+(?:\.0+)?$)(?:[1-9]\d*|0)(?:\.\d{1,2})?$/  这正则看不太懂,先放着 作者:Kevin Yang 使用正则表达式找出不包含特定字符串 ...

随机推荐

  1. loadrunner在win10破解提示:Cannot save the license information because acceses to the registry is denied的解决办法

    方法1 下图1-1中提示就是说明了破解的时候权限不足导致,解决办法就是使用管理员权限打开loadrunner破解就好了,但是右键“以管理员身份运行”选项打开loadrunner又是会提示1-2中的问题 ...

  2. c3p0连接池基本配置mysql和oracle

    c3p0-config.xml <?xml version="1.0" encoding="UTF-8"?> <c3p0-config> ...

  3. utf-8编码的中文看成2个字符,其他数字字符看成一个字符

    方法一:使用正则表达式,代码如下: function getByteLen(val) {            var len = 0;            for (var i = 0; i &l ...

  4. [转帖]Cookies和Session的区别和理解

    https://www.toutiao.com/a6580918457276039684 官方理解: cookie机制 Cookies是服务器在本地机器上存储的小段文本并随每一个请求发送至同一个服务器 ...

  5. Python中pip install MySQL-python报错解决方法

    环境 Centos 7(其他Centos或者RHEL一样) 问题 在执行 pip install MySQL-python 时报错如: Command "python setup.py eg ...

  6. 子类使用父类的方法 或属性时候 里面的this 代表的是自己

  7. BZOJ5323 JXOI2018游戏(线性筛+组合数学)

    可以发现这个过程非常类似埃氏筛,将在该区间内没有约数的数定义为质数,那么也就是求每种方案中选完所有质数的最早时间之和. 于是先求出上述定义中的质数个数,线性筛即可.然后对每个最短时间求方案数,非常显然 ...

  8. Netty基础系列(3) --彻底理解NIO

    前言 上一节中我们提到了同步异步与阻塞非阻塞的区别,知道了同步并不等于阻塞.而本节的主角NIO是一种同步非阻塞的I/O模型,并且是I/O多路复用模型.NIO在java中被称为 New I/O.它并不能 ...

  9. 出错:ORA-20000: ORU-10028: line length overflow, limit of 255 bytes per line?

    起因:DBMS_OUTPUT.put(V_SQL) 提示太长错误,设置了buffer=>null 和set 长度都不行 解决方法如下: testxx.debug_print(V_SQL); -- ...

  10. Luogu 1429 平面最近点对 | 平面分治

    Luogu 1429 平面最近点对 题目描述 给定平面上n个点,找出其中的一对点的距离,使得在这n个点的所有点对中,该距离为所有点对中最小的 输入输出格式 输入格式: 第一行:n:2≤n≤200000 ...