Javascript 自动注册Ex电话号码格式(xxx)xxx xxxx
我发现了一个非常古老的示例,但它几乎完全符合我的要求: 但是,我想用(xxx)xxx xxxx代替当前的格式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('-') .
$('.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('');
谢谢你们的回复,这一次对我很有效!我刚意识到在我输入号码后,我无法编辑或删除它。谢谢你们的回复,这一条对我来说非常有效!我刚意识到在我输入号码后,我无法编辑或删除它。