日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

angularjs组件之input mask

發(fā)布時(shí)間:2024/4/14 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 angularjs组件之input mask 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

今天將奉獻(xiàn)一個(gè)在在幾個(gè)angularjs項(xiàng)目中抽離的angular組件 input mask。在我們開發(fā)中經(jīng)常會(huì)對(duì)用戶的輸入進(jìn)行控制,比如日期,貨幣格式,或者純數(shù)字格式之類的限制,這就是input mask的使用場(chǎng)景,在項(xiàng)目中也是會(huì)經(jīng)常被提及需的需求之一。

當(dāng)然在官方的angular-ui ui-utils中有一個(gè)相應(yīng)的組件叫做ui-mask,但是其mask功能是很初級(jí)脆弱的。所以我希望能得到一個(gè)更強(qiáng)大的mask組件。我所知的jquery.inputmask就是這樣一個(gè)我所期望的強(qiáng)大的mask組件,所以我不必再去重造輪子,好的軟件就是為了不停被重復(fù)利用。所以寫了一個(gè)adapter,https://github.com/greengerong/green.inputmask4angular.

其使用如下,可以去下載項(xiàng)目查看其中的demo page。

<div class="hero-unit"><h1>'Allo, 'Allo!</h1><div><h3>mask</h3><p>Mask: 99-9999999</p><input type="text" ng-model="test" input-mask="'mask'" mask-option="testoption"/><pre>{{ test | json }}</pre></div><div><h3>y-m-d</h3><p>Date: yyyy-MM-dd</p><input type="text" ng-model="test1" input-mask="'y-m-d'" format-option="dateFormatOption"/><pre>{{ test1 | json }}</pre></div><div><h3>Regex</h3><p>Email: "[a-zA-Z0-9._%-]+@[a-zA-Z0-9-]+\\.[a-zA-Z]{2,4}"</p><input type="text" ng-model="test3" input-mask="'Regex'"mask-option="regexOption"/><pre>{{ test3 | json }}</pre></div><div><h3>Function</h3><p>"[1-]AAA-999" or "[1-]999-AAA"</p><input type="text" ng-model="test4" input-mask="functionOption"/><pre>{{ test4 | json }}</pre></div></div>

  

controller code:

'use strict';angular.module('green.inputmaskApp').controller('MainCtrl', ["$scope", function ($scope) {$scope.testoption = {"mask": "99-9999999","oncomplete": function () {console.log();console.log(arguments,"oncomplete!this log form controler");},"onKeyValidation": function () {console.log("onKeyValidation event happend! this log form controler");}}//default value$scope.test1 = new Date();$scope.dateFormatOption = {parser: function (viewValue) {return viewValue ? new Date(viewValue) : undefined;},formatter: function (modelValue) {if (!modelValue) {return "";}var date = new Date(modelValue);return (date.getFullYear() + "-" + date.getMonth() + "-" + date.getDate()).replace(/\b(\d)\b/g, "0$1");},isEmpty: function (modelValue) {return !modelValue;}};$scope.mask = { regex: ["999.999", "aa-aa-aa"]};$scope.regexOption = {regex: "[a-zA-Z0-9._%-]+@[a-zA-Z0-9-]+\\.[a-zA-Z]{2,4}"};$scope.functionOption = {mask: function () { return ["[1-]AAA-999", "[1-]999-AAA"]; }};}]);

  

這里值列列舉了jquery.inputmask的簡(jiǎn)單實(shí)用方式,更復(fù)雜的方式請(qǐng)移步到j(luò)query.inputmask查看。

轉(zhuǎn)載于:https://www.cnblogs.com/whitewolf/p/3475687.html

總結(jié)

以上是生活随笔為你收集整理的angularjs组件之input mask的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。