如何在 Angular JS 中的三位数字后添加点
how to add dot after three digits in angular js
我是新的 angular js .我想制作输入模式 XXX.XXXX .如果用户输入浮点值,那么它不应该做任何事情,但如果用户输入1234456(非十进制值),那么它将自动使 123.4560如果用户输入 12.909,则它不执行任何操作。在第三个非十进制数字之后,它应该添加点。请帮忙
尝试遵循它会有所帮助:
.JS
var myApp = angular.module('myApp',[]);
function MyCtrl($scope) {
$scope.onBlur = function($event) {
var num = $scope.foo;
if (num.indexOf(".") == -1 && num.length > 4)
{
$scope.foo = num.substring(0,3) + "." + num.substring(3);
}
}
}
.HTML
<div ng-controller="MyCtrl">
<input type="text" ng-model="foo" ng-blur="onBlur($event)"/>
</div>
演示小提琴
您将拥有一个在按键上运行或监视绑定值的函数。检查字符串是否是一个数字,然后使用 to 固定字符串长度的减去 3,如下所示(未测试):
if (str.isNaN()) {
return "";
} else {
var length = (str.length - 3);
return str.toFixed(length);
}
您可以使用
输入框的模糊事件上的简单函数来实现此目的。
$scope.inputValue = "";
$scope.checkDecimal = function()
{
if(!isNaN($scope.inputValue) && $scope.inputValue % 1 !== 0)
{
alert("Its a decimal value");
}
else if(!isNaN($scope.inputValue) && $scope.inputValue.length > 3)
{
var deNominator = Math.pow(10, ($scope.inputValue.length - 3) );
$scope.inputValue = $scope.inputValue /deNominator;
}
else if(!isNaN($scope.inputValue) && $scope.inputValue < 1000)
{
$scope.inputValue = $scope.inputValue;
}
else
{
alert("Please enter a valid number value");
$scope.inputValue = "";
}
}
供参考的普伦克 : http://plnkr.co/edit/tpl:8rFfZljYNl3z1A4LKSL2?p=preview
相关文章:
- 键入最后一位数字后自动提交
- RegExp匹配任意字符串+8位数字
- 用于Javascript中小数输入的Regex,小数前有1到3位,小数后有1到三位
- RegEx查找4位数字前后的逗号
- NodeJS Promise从未达到第三位'然后()'呼叫
- 如何使用 num.toString 和 str.split 查找整数的最后一位数字
- Regex表示10位数字,其中没有't允许所有零、所有单个no和序列号
- 简单的Javascript方式,在输入字段的每5位数字后添加一个空格
- 将文本字段限制为三个数字
- 输入只允许6位数字,逗号分隔后,允许角js中的另外6位数字
- 如何显示正好 2 位数字的 html 数字输入的输入值
- 将自然数转换为三位字符串的简单算法是什么
- regex:如何捕获字符串中的三个数字,而不是字符串的其余部分
- JS Regex的最后两位数字与前两位数字匹配
- Javascript-如何从长度有时不是静态的随机字符串中获得3位数字
- 按键时的正则表达式,取一个十进制值,允许小数后三位
- 如何在javascript中获取no的小数点后三位
- 如何在函数中输入每三位数字分隔的数字
- 如何在文本输入字段中添加逗号来分隔每组三位数字
- 如何在 Angular JS 中的三位数字后添加点