Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 自动注册Ex电话号码格式(xxx)xxx xxxx_Javascript_Regex - Fatal编程技术网

Javascript 自动注册Ex电话号码格式(xxx)xxx xxxx

Javascript 自动注册Ex电话号码格式(xxx)xxx xxxx,javascript,regex,Javascript,Regex,我发现了一个非常古老的示例,但它几乎完全符合我的要求: 但是,我想用(xxx)xxx xxxx代替当前的格式xxx xxx xxxx 有人能帮我写下面的脚本吗 $('.telnumber').keyup(function() { this.value = this.value .match(/\d*/g).join('') .match(/(\d{0,3})(\d{0,3})(\d{0,4})/).slice(1).join('-') .

我发现了一个非常古老的示例,但它几乎完全符合我的要求:

但是,我想用(xxx)xxx xxxx代替当前的格式xxx xxx xxxx

有人能帮我写下面的脚本吗

$('.telnumber').keyup(function() {
    this.value = this.value
        .match(/\d*/g).join('')
        .match(/(\d{0,3})(\d{0,3})(\d{0,4})/).slice(1).join('-')
        .replace(/-*$/g, '');

    console.log("this value", this.value);
});

您要更改的代码是
.join('-')
。这就是“xxx xxx xxxx”的来源。

您要更改的代码是
。join('-')
。这就是“xxx xxx xxxx”的来源。

您需要对这3个正则表达式进行标记,然后分别进行连接。

您需要对这3个正则表达式进行标记,然后分别进行连接。

您可以这样做

var a = this.value.match(/\d*/g).join('')
        .match(/(\d{0,3})(\d{0,3})(\d{0,4})/).slice(1);

this.value  = ['(',a[0],') ',a[1],'-',a[2]].join('');
不是很优雅,但是嘿,优雅是给裁缝的,对吗

更新

是的,我很无聊,写了一行,这里:

this.value =  '('+this.value
        .match(/\d*/g).join('')
        .match(/(\d{0,3})(\d{0,3})(\d{0,4})/).slice(1)
        .map((a,i)=>(a+[') ','-',''][i])).join(''); 

你可以这样做

var a = this.value.match(/\d*/g).join('')
        .match(/(\d{0,3})(\d{0,3})(\d{0,4})/).slice(1);

this.value  = ['(',a[0],') ',a[1],'-',a[2]].join('');
不是很优雅,但是嘿,优雅是给裁缝的,对吗

更新

是的,我很无聊,写了一行,这里:

this.value =  '('+this.value
        .match(/\d*/g).join('')
        .match(/(\d{0,3})(\d{0,3})(\d{0,4})/).slice(1)
        .map((a,i)=>(a+[') ','-',''][i])).join(''); 

谢谢你们的回复,这一次对我很有效!我刚意识到在我输入号码后,我无法编辑或删除它。谢谢你们的回复,这一条对我来说非常有效!我刚意识到在我输入号码后,我无法编辑或删除它。