我想創建一個只有最後4位數字顯示的MD輸入字段,如「******** 1234」。我是角質材料和角度js的新手,我的知識僅限於md輸入密碼,但所有字符都隱藏或替換爲「」。我做了這個JavaScript,它的工作!但我不知道角js中的等效代碼是什麼。這裏是我的代碼:`$('#cardNum')。bind('input',function(){ $(this).val(($(this).val()。replace(/ \ d(?= \ d {4})/ g,''))); });如何僅顯示角材料和角度js中輸入字段的最後四位數字?
回答
你可以爲它創建一個自定義過濾器:
appModule.filter('passwordMask', function() {
return function (input, num) {
if (isNaN(num) || num < 1) {
return String(input).replace(/./g, '*');
}
var mask = RegExp('(.{1,' + num + '}$)|.', 'g');
return String(input).replace(mask, function(hide, show) {
return show || '*';
});
};
});
而且使用這種方式:
<div ng-bind="passwordModel | passwordMask:4" class="password-style"></div>
希望它能幫助。
您能解釋一下正則表達式嗎?你如何使用'function(hide,show)'來使用匹配組? – neaumusic
@Guedes我可以把它放在控制器裏面嗎? –
@neaumusic。你可以看到[正在使用的正則表達式](https://regex101.com/r/pZ5iM3/1)。 'hide'這個名字只是說明性的,因爲我沒有進一步使用它。我使用'RegExp'來連接可以看到的數字的數量(將在show組中匹配),每隔一個匹配/數字將返回一個星號。 –
@Guedes我可以在輸入字段中使用它嗎?
<input name="password" type="password" ng-bind="user.password | passwordMask:4" />
myapp.controller('controller', function ($scope) {
$scope.user = {
name: '',
password: '',
};
});
輸入需要ng模型...但ng模型不允許使用過濾器。 –
是的,但我需要輸入字段來過濾自己,有什麼想法? – JustineP
你可以嘗試使用CSS來掩碼,如下所示:http://jsbin.com/gakayupole/edit?html,css,js,output –
- 1. 角度材料輸入字段不是樣式的
- 2. 角材料錯誤顯示輸入欄
- 3. Cofigure角度材料輸入的高度
- 4. 角度和角度材料[$ injector:modulerr]
- 5. 角度材料組件不顯示
- 6. 材料和角度2
- 7. 以角度限制2位小數後的輸入字段
- 8. 角度材料,$ mdDialog
- 9. 如何角材料
- 10. 如何選擇角度材料2和量角器的選項?
- 11. 如何隱藏/刪除下劃線輸入角度材料?
- 12. 使用數字和文本驗證角度js中的輸入
- 13. 角度材料VS Materialisecss
- 14. Pinterest角度材料佈局
- 15. 錯誤:角度2材料
- 16. 具有角-CLI +角度材料
- 17. 材料角度與角4在生產
- 18. 角材料佔位符和輸入/ textarea樣式
- 19. 調整角度材料中的MD輸入容器的全長
- 20. 角度材料結合輸入過濾器和排序列
- 21. 角度材料md-select顯示選擇的數量
- 22. 如何使用角度材料日曆
- 23. 角材料MD-工具欄輸入
- 24. 只允許輸入字段中逗號分隔的數字使用角度js
- 25. 禁用輸入字段,如果一些條件在角度js
- 26. 更改字段後的顯示通知(角度和節點)
- 27. 角2材料
- 28. 角材料
- 29. SQL Plus在輸出中顯示前四位和後四位數字
- 30. 角度材料 - 如何在圖像旁邊放置文字
我做了一個javascript的這個,它的工作!但我不知道角js中的等效代碼是什麼。這裏是我的代碼:'$('#cardNum')。bind('input',function(){ $(this).val(($(this).val()。replace(/ \ d(?= \ d {4})/ g,'*'))); });' –