在onBlur上将格式编号作为文本框中的电话

时间:2011-11-11 23:34:02

标签: javascript html css

我在JS正则表达式上很糟糕,我指望一个聪明的人帮助我完成应该是一项微不足道的任务。

Onblur,我希望使用JS将10个数字'1234567890'的文本字段格式化为123/456/7890。

Onfocus,它应该恢复为数字'1234567890'而不会斜线。

就是这样。希望你能帮忙!

更新:我很惊讶这个问题已经关闭并被投票,因为它是一个侏儒色情,但不过我得到了一个解决方案,所以为了未来的搜索者,我会在下面发布答案。

HTML:

<input id="PhoneNumber" type="text" maxlength="10"
       onblur="PhoneNumberOnBlur(this)"
       onfocus="PhoneNumberOnFocus(this)"/>

使用Javascript:

function PhoneNumberOnBlur(el) { el.value = el.value.replace(/(\d{3})(\d{3})(\d{4})/, "$1/$2/$3"); }

function PhoneNumberOnFocus(el) { el.value = el.value.replace(/\//g, "") }

1 个答案:

答案 0 :(得分:1)

添加斜杠:

var num = "1234567890"
num.replace(/(\d{3})(\d{3})(\d{4})/, "$1/$2/$3")

删除它们:

num.replace(/\//g, "")

对于更健壮的东西,我建议使用Masked Input插件:

http://digitalbush.com/projects/masked-input-plugin/