0

我正在使用 devexpress 控件,我有一个文本框,它应该只有一个连字符之间的数字,例如 123-7898(7 个数字和 1 个连字符)格式相同。

当用户自动输入前 3 位数字时,连字符将在第 4 位输入,之后用户可以输入后 4 位数字。

请提供您的建议。

4

2 回答 2

1

DevExpress 编辑器允许您在编辑期间使用掩码。请尝试将MaskSettings.Mask属性设置为"###-####"。在这种情况下,十进制数字可以留空。

浏览文档以了解如何设置这些掩码以及一个不错的掩码在线演示会让您更好地了解。

请参阅掩码编辑概述文档中的 Devexpress 编辑器控件的掩码功能。

于 2013-09-02T05:43:24.723 回答
0

你可以使用 JavaScript 来解决这个问题——

<script>
    function validatePhoneNumber(txtBoxObj) {
        if (txtBoxObj.value.length == 3 ) {
            txtBoxObj.value += "-";
        }
    }
    function getValue() {
        var phoneNumber = document.getElementById("phoneNumber").value;
        var a = phoneNumber.replace(/-/g, "");
        alert(a);
    }
    function isNumberKey(evt) {
        var charCode = (evt.which) ? evt.which : event.keyCode
        if (charCode > 31 && (charCode < 48 || charCode > 57))
            return false;

        return true;
    }

</script>


<input id="phoneNumber"onkeypress="return isNumberKey(event)"   onblur="validatePhoneNumber(this)" onkeyup="validatePhoneNumber(this)" type="text" maxlength="8"/>
<input type="button" onclick="getValue()"  title="submit" value="submit" />

于 2013-09-01T17:43:57.530 回答