2017-03-19 153 views
0

我需要一個輸入字段,它只允許(和顯示)數字字符作爲輸入。我需要這個值是整數,所以'''。'字符是允許的。如何在angularjs中做到這一點?如果可能的話,如果字符串被粘貼到文本字段中,如何顯示數字? 編輯:類型=數允許的點,我想只允許整數AngularJS:只允許數字作爲輸入

+0

你可以設置不同的html參數,只定義完整的數字可以設置。看在html5文檔 – mtizziani

+0

可能重複[如何限制輸入只接受數字?](http://stackoverflow.com/questions/14615236/how-do-i-restrict-an-input-to-only -accept-numbers) –

回答

1

試試這個會按你的期望工作。

var numInput = document.querySelector('input'); 
 

 
numInput.addEventListener('input', function(){ 
 
    var num = this.value.match(/^\d+$/); 
 
    if (num === null) { 
 
     this.value = ""; 
 
    } 
 
});
<input type="number" min="0" step="1"/>

1

您可以HTML這樣做只是不使用任何角度的方法,這樣

<input type="number" min="0" step="1"/>

另一種使用HTML的方法是使用pattern屬性

<input type="text" pattern="\d*" />

+1

不知道爲什麼這得到了downvoted,這是正確的 – mtizziani

1

<input type="number">https://www.w3schools.com/html/html_form_input_types.asp

否則,你需要創建自己的邏輯來處理用戶輸入。如果你不想使用HTML5輸入,那麼這是我的建議。

在你angular2組件,創建

<input [ngModel]="your_variable` (ngModelChange)="changeEvent($event)") /> 

changeEvent = (event) => { 
//logic to handle different formats of your_variable 
} 
0

可以使用NG模式= 「/^[0-9] \ d * $ /」 爲文本,但類型應該是這一點,你的文字也可以使用下面的代碼來檢查號碼。

<input type="number" min="0"/> 
0

可以使用納克圖案= 「/^[0-9] {1,} $ /」 和輸入類型 「文本」,只允許數字。

相關問題