正则表达式在仅应显示10位数字的情况下将电话号码显示为有效的9位和10位数字

用户名

我正在使用它来验证电话号码.....它应该是10位数字,并且一旦它是10位数字,就去掉红色的波浪线,并以这种模式将其格式化为(xxx)xxx-xxxx。但是,根据此验证,当我写完9位数字时,它会将该数字显示为有效数字,并删除红色的波浪线,然后当我写出第10位数字时,它将按照上述模式进行格式化。

// custom Vtype for vtype:'phone'
// Vtype for phone number validation
Ext.apply(Ext.form.VTypes, { 
    'phoneText': i18n.validation.phonetext, 
    'phoneMask': /[\-\+0-9\(\)\s\.Ext]/, 
    'phoneRe': /^(\({1}[0-9]{3}\){1}\s{1})([0-9]{3}[-]{1}[0-9]{4})$|^(((\+44)? ?(\(0\))? ?)|(0))( ?[0-9]{3,4}){3}$|^Ext. [0-9]+$/, 
    'phone': function (v) {
        return this.phoneRe.test(v); 
    }
});

// Function to format a phone number
Ext.apply(Ext.util.Format, {
    phoneNumber: function(value) {
        var phoneNumber = value.replace(/\./g, '').replace(/-/g, '').replace(/[^0-9]/g, '');

        if (phoneNumber != '' && phoneNumber.length == 10) {
            return '(' + phoneNumber.substr(0, 3) + ') ' + phoneNumber.substr(3, 3) + '-' + phoneNumber.substr(6, 4);
        } else {
            return value;
        }
    }
});

Ext.namespace('Ext.ux.plugin');

// Plugin to format a phone number on value change
Ext.ux.plugin.FormatPhoneNumber = Ext.extend(Ext.form.TextField, {
    init: function(c) {
        debugger;
        c.on('change', this.onChange, this);
    },
    onChange: function(c) {
        debugger;
        c.setValue(Ext.util.Format.phoneNumber(c.getValue()));
    }});



          this.phone = {
                xtype: 'textfield',
                country: Bedbath.registry.params.country,
                labelSeparator: "",
                fieldLabel: i18n.label.phone+": <span style='color:red'>*</span>",
                name: "phone1RE",
                ref: 'phone1RE',
                id: 'phone1RE',
                allowBlank: false,
                vtype:'phone',
                plugins: new Ext.ux.plugin.FormatPhoneNumber()
            };

我不知道它如何显示它对9位数字有效?有人可以帮我吗?谢谢你。

达拉斯

您的中间选项允许9位数字。

^(((\+44)? ?(\(0\))? ?)|(0))( ?[0-9]{3,4}){3}$

除最后一部分外,其他所有内容都是可选的,可以是3-4个数字重复4次(这是9-12个数字)

如果要确保它是10个字符,并且使用的是美国类型数字(看起来像是美国数字),那么这样做可以使10个数字在正确的位置之间留有可能的空格,您可以将最后一部分更改为类似:

((?: ?[0-9]{3}){2} ?[0-9]{4})

总的来说,将是这样的:

^(\({1}[0-9]{3}\){1}\s{1})([0-9]{3}[-]{1}[0-9]{4})$|^(((\+44)? ?(\(0\))? ?)|(0))((?: ?[0-9]{3}){2} ?[0-9]{4})$|^Ext. [0-9]+$

正则表达式可视化

Debuggex演示

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

电话号码的正则表达式为10位数字,并允许使用“-”(JavaScript)

来自分类Dev

修改电话号码清理正则表达式以处理前1位数字

来自分类Dev

正则表达式以匹配电话号码的前6位数字

来自分类Dev

正则表达式以匹配电话号码的前6位数字

来自分类Dev

意大利电话10位数字正则表达式问题

来自分类Dev

电话号码的Java正则表达式-必须仅包含8位数字,且不超过2个破折号

来自分类Dev

仅10位数字的正则表达式验证器C#asp.net

来自分类Dev

仅10位数字的正则表达式验证器C#asp.net

来自分类Dev

8位数电话号码的正则表达式(新加坡号码长度)

来自分类Dev

正则表达式将2位数字转换为3位数字

来自分类Dev

如何仅使用正则表达式来限制文本框的文本长度为9位数字

来自分类Dev

正则表达式以匹配10-15位数字

来自分类Dev

需要以下格式的正则表达式,允许至少10位数字

来自分类Dev

正则表达式为6位数字中的前3位

来自分类Dev

4位数字正则表达式

来自分类Dev

用于 10-15 位电话号码验证的正则表达式

来自分类Dev

如何编写至少与10位数字匹配并且只能具有数字和感叹号的正则表达式

来自分类Dev

接受电子邮件地址和10位电话号码的正则表达式

来自分类Dev

创建正则表达式以仅允许小数点后的数字和2位数字

来自分类Dev

10位数或11位数的正则表达式

来自分类Dev

使用正则表达式仅检索7位数字的字符串

来自分类Dev

使用正则表达式匹配8或9位数字

来自分类Dev

c#正则表达式包含“ 9位数字”并以“ 07”开头

来自分类Dev

将电话号码的第一位数字修剪为国际格式

来自分类Dev

正则表达式,用于掩盖社会安全号码的最后4位数字(但最后4位数字除外)

来自分类Dev

带电话号码的10位手机号码的正则表达式

来自分类Dev

以“ 1”,“ 10”,“ 101”开头但长度不为11位数字的“ 11”,“ 12”,“ 102”,“ 103”开头的正则表达式

来自分类Dev

正则表达式2个字母和3、4或5位数字

来自分类Dev

正则表达式帮助,请使用特定的字母和3位数字

Related 相关文章

  1. 1

    电话号码的正则表达式为10位数字,并允许使用“-”(JavaScript)

  2. 2

    修改电话号码清理正则表达式以处理前1位数字

  3. 3

    正则表达式以匹配电话号码的前6位数字

  4. 4

    正则表达式以匹配电话号码的前6位数字

  5. 5

    意大利电话10位数字正则表达式问题

  6. 6

    电话号码的Java正则表达式-必须仅包含8位数字,且不超过2个破折号

  7. 7

    仅10位数字的正则表达式验证器C#asp.net

  8. 8

    仅10位数字的正则表达式验证器C#asp.net

  9. 9

    8位数电话号码的正则表达式(新加坡号码长度)

  10. 10

    正则表达式将2位数字转换为3位数字

  11. 11

    如何仅使用正则表达式来限制文本框的文本长度为9位数字

  12. 12

    正则表达式以匹配10-15位数字

  13. 13

    需要以下格式的正则表达式,允许至少10位数字

  14. 14

    正则表达式为6位数字中的前3位

  15. 15

    4位数字正则表达式

  16. 16

    用于 10-15 位电话号码验证的正则表达式

  17. 17

    如何编写至少与10位数字匹配并且只能具有数字和感叹号的正则表达式

  18. 18

    接受电子邮件地址和10位电话号码的正则表达式

  19. 19

    创建正则表达式以仅允许小数点后的数字和2位数字

  20. 20

    10位数或11位数的正则表达式

  21. 21

    使用正则表达式仅检索7位数字的字符串

  22. 22

    使用正则表达式匹配8或9位数字

  23. 23

    c#正则表达式包含“ 9位数字”并以“ 07”开头

  24. 24

    将电话号码的第一位数字修剪为国际格式

  25. 25

    正则表达式,用于掩盖社会安全号码的最后4位数字(但最后4位数字除外)

  26. 26

    带电话号码的10位手机号码的正则表达式

  27. 27

    以“ 1”,“ 10”,“ 101”开头但长度不为11位数字的“ 11”,“ 12”,“ 102”,“ 103”开头的正则表达式

  28. 28

    正则表达式2个字母和3、4或5位数字

  29. 29

    正则表达式帮助,请使用特定的字母和3位数字

热门标签

归档