簡體   English   中英

在 React.js 上驗證電話號碼

[英]Validate phone number on React.js

我正在嘗試驗證電話字段,以使用以下代碼獲取所有字母和點。

validatePhone = () => {
        const sanitizedPhone = this.state.phone.replace(/\D/g, '');
        if (sanitizedPhone.length >= 10 && sanitizedPhone.length <= 11) {
            this.setState({ phone: sanitizedPhone });
            return true;
        }
        toast.error('Invalid phoneNumber.', {
            position: "top-center",
            autoClose: false,
            closeOnClick: true,
        });
        return false;
    }

當我嘗試使用像11.97.4.4.51234這樣的輸入點的console.log(sanitizedPhone) ,我得到11974451234但在此之后,在console.log(this.state.phone)我得到舊號碼11.97.4.4.51234

反應文檔

setState() 並不總是立即更新組件。 它可能會批量更新或推遲更新。 這使得在調用 setState() 之后立即讀取 this.state 成為一個潛在的陷阱。

這就是為什么您在使用 setState 后沒有立即看到更改的原因。

暫無
暫無

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

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