簡體   English   中英

如何防止用戶在 Angular8 中連續輸入“00”?

[英]How do I prevent user Input continuous "00" in Angular8?

我使用 Angular8,我想防止用戶在 Input 元素中輸入連續的“0”。

如果用戶輸入“00”我希望它顯示為“0”,如果用戶輸入“01”,我想刪除字符串中的第一個“0”=>它應該變成“1”。

我改變了 ngModelChange() 中的值,我的問題是:ngModel 確實改變了。 但輸入元素仍然顯示舊值。

我有一個模板:檢查這個鏈接

它只是行不通,誰能告訴我解決方案?

如果您只期望整數(或者您不介意四舍五入),則可以使用Math.floor() 請注意,這在嚴格模式下不起作用

 let test = Math.floor(00); let test2 = Math.floor(01); console.log(test, test2);

更新

所以這很有趣。 Javascript 將 0123 視為二進制文字 事實證明,使用parseInt強制 base10 是可行的方法。 請注意,您必須確保正在解析字符串才能使其正常工作。

 let test = Math.floor(00); // 0 let test2 = Math.floor(01); // 1 let test3 = Math.floor(0123); // 83 let test4 = parseInt(0123); // 83 let test5 = parseInt(0123, 10); // 83 let test6 = parseInt('0123', 10); // 123 console.log(test, test2, test3, test4, test5, test6);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM