我在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, "") }
答案 0 :(得分:1)
添加斜杠:
var num = "1234567890"
num.replace(/(\d{3})(\d{3})(\d{4})/, "$1/$2/$3")
删除它们:
num.replace(/\//g, "")
对于更健壮的东西,我建议使用Masked Input插件: