繁体   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