簡體   English   中英

GWT 電話號碼屏蔽

[英]GWT telephone number masking

有誰知道如何 go 關於創建將執行電話號碼格式屏蔽的字段,就像這里(___) ___-____
http://www.smartclient.com/smartgwt/showcase/#form_masking

更好的方法是讓用戶輸入他們想要的任何內容:“789-555-1234”或“(789) 555-1234”或“7895551234”,然后當字段失去焦點時決定他們輸入的內容是否可以是電話數字。 如果是這樣,您可以將其重新格式化為“(789) 555-1234”。 關於如何用正則表達式做這類事情有幾個相關的問題; 只需確保您的正則表達式接受您將用戶輸入更改為的格式,否則編輯會很煩人。

舉個例子,看看當你在微軟標准頁面設置對話框的左邊距字段中輸入“.5”時會發生什么:當你把它改成“0.5”時。

更新:這是 GWT 中的示例代碼來說明。 為了這個例子,假設有一個名為“phoneContainer”的元素可以放入文本框。 GWT 沒有給你完整的 java.util.regex ZEFE90A8E604A7C840E88D03A67

private void reformatPhone(TextBox phoneField) {
    String text = phoneField.getText();
    text = text.replaceAll("\\D+", "");
    if (text.length() == 10) {
        phoneField.setText("(" + text.substring(0, 3) + ") " + text.substring(3, 6) + "-" + text.substring(6, 10));
    }
}


public void onModuleLoad() {
    final TextBox phoneField = new TextBox();

    RootPanel.get("phoneContainer").add(phoneField);
    phoneField.addBlurHandler(new BlurHandler(){
        public void onBlur(BlurEvent event) {
            reformatPhone(phoneField);
        }
    });
}

看起來您想要創建自己的小部件來擴展 GWT 輸入框,並將默認值設置為您想要的掩碼。 然后您處理 onKeypress 事件並根據需要更新該字段(確保將 cursor position 設置到正確的位置)。

暫無
暫無

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

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