簡體   English   中英

如何設置用戶不能在第一個數字中輸入數字0?

[英]How do I set the user can not enter the number 0 in the first number?

我嘗試這樣:

   <v-text-field
      type="number"
       @keyup="handler(text)"
        v-model="text"
    >

演示和完整代碼如下: https://codepen.io/positivethinking639/pen/yLeoppa

但是這段代碼並沒有完美運行。 如果我輸入852 然后我把 cursor 移到數字8的右邊,輸入數字0 ,就可以了。 所以這段代碼並不完美

我怎么解決這個問題?

使用正則表達式:

new Vue({
  el: '#app',
  vuetify: new Vuetify(),
  data: () => ({
    text: null
  }),
  methods: {
    handler(val){
        this.text = val.replace(/^[^1-9]+/, '')
    }
  }
})

Demo你直接看整個進入。 只需檢查第一個字母

if(val.substr(0,1)==="0"){
    this.text=val.slice(1);
}

如果您想要保留字符串,例如有人鍵入 852,然后您在前面添加 0,並且您希望它改回 852 而不是 null。

如果稍后添加零,就像更改0852 -> 852一樣。

然后你應該更新你的處理程序 function

handler(val){
      if(val==="0"){
         this.text=null;
      }
      if(val[0] === "0"){
        this.text = this.text.substr(1);
      }
    }

您可以像這樣檢查第一個字符是否為“0”:

 if(val[0] === "0") {
    this.text = null;
 }

暫無
暫無

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

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