求个js的正则表达式,格式化输出北美地区的电话号码--在线等

LiJun12112003 2014-05-09 04:06:09
如题,求个正则表达式,能够格式化输出北美地区的电话号码,例如输入1234567890,格式化成123-456-7890,输入12345678,格式化成123-456-78,
...全文
392 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
sclm9032 2016-01-21
  • 打赏
  • 举报
回复
引用 5 楼 u011443368 的回复:
如果是中国的呢?? 比如: 183-1234-1234 这种的改怎么改,跪求啊
把一楼的变通一下 alert("18312341234".replace(/(\d{3})(\d{4})/,"$1-$2-"));
wefxwec4a 2015-11-20
  • 打赏
  • 举报
回复
如果是中国的呢?? 比如: 183-1234-1234 这种的改怎么改,跪求啊
zyzy15 2014-05-09
  • 打赏
  • 举报
回复

		if (obj.value.length>3 && obj.value.length <8)
		{
			obj.value = obj.value.replace(/(\d{3})(?!\-)/g,'$1-');
		}
LiJun12112003 2014-05-09
  • 打赏
  • 举报
回复
这两个都可以,不过都有点小问题,我是在textbox的keyup事件中用这个方法的,用第一个方法,只有在输入6位之后才会格式化,第二个好点,输入第五位之后格式化,有没有输入第四位或者第三位输入完之后就格式化的方法?
  • 打赏
  • 举报
回复
美国电话号码是由十位数字所组成,前三码是区域码area code,中间三位数字是交换码,再加上后四码。 可以尝试
alert('1234567890'.replace(/(\d{3})(?=\d{2,}$)/g,'$1-'))
天际的海浪 2014-05-09
  • 打赏
  • 举报
回复
alert("1234567890".replace(/(\d{3})(\d{3})/,"$1-$2-"));

87,996

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧