2012-08-28 34 views
3

我发现很多帮助限制文本框只接受数字,但我想检查是否有可能显示美国电话号码格式的文本框HTML文本框,它接受phonenumbers,并在我们的显示屏数字格式

例如:

(_ _ _)_ _ _ - _ _ _ _

请帮助。

+4

说实话?你最好的办法是让用户输入不过的电话号码,他们喜欢,然后剥去所有的“填充物”字,并重新格式化了'onblur'事件。 强制用户根据模板进入难,打破正常的编辑和_unexpected_。不要惊讶你的用户。 –

+0

+1杰里米。如果需要特定的格式,应该通过屏幕上的工具提示或提示来建议,而不是通过强制用户修改他们选择输入数据的方式。 – RobG

回答

0

我做了谷歌搜索,你发现这一点。我相信这是你想要

http://www.kodyaz.com/articles/javascript-phone-format-phone-number-format.aspx

+0

这与几乎所有这些格式化函数都有相同的问题。特别是,如果您要输入类似“33081”的电话号码,并且您意识到自己实际上的意思是“340 81”,则必须按回退两次总共四次来“撤消”格式。这会驱使触摸打字员NUTS。 –

+0

编辑该代码以检测退格键的关键代码并确定脱字符位置可以修复该问题。 – Bot

+0

@ bot - 如果您只是让用户输入数字而不强迫他们按照自己的方式执行此操作,则不需要任何(经常有问题的)脚本,用户也很高兴。 – RobG

0

恰恰是美国电话编号方案,无视国家代码组件,方法是:

[2-9][0-9][0-9] [2-9][0-9][0-9] [0-9][0-9][0-9][0-9] 

哪些可以推荐给广大用户是这样的:

<table> 
    <tr> 
    <td class="fieldLabel">Phone number: 
    <td><input id="phoneNumber" name="phoneNumber"><br> 
     <span class="screenTip">Format: 999&nbsp;999&nbsp;9999</span> 
</table> 

一个应用程序只关心当用户提交表单(或发送数据)时该值是有效的,不管它在同一时间是无关紧要的。使用脚本来实现用户友好的字段非常困难,该字段在用户键入(或粘贴或放置)仅限几个浏览器时限制输入。所有使用的浏览器可能都不可能。

在另一方面,提交或现场失去焦点是很容易的,因为是一个用户友好的消息,以更正错误(独自一人出走值,让用户纠正)当验证值。

相关问题