Javascript 格式化进入文本框的电话号码等文本

Javascript 格式化进入文本框的电话号码等文本,javascript,ruby-on-rails,formatting,textbox,string-formatting,Javascript,Ruby On Rails,Formatting,Textbox,String Formatting,到处都找不到,也许我找错动词了 我试图让一个文本框在你输入数字时需要某种格式。为了简单起见,让我们使用一个电话号码示例。当我在框中键入时,我需要一些指导原则来帮助用户输入正确的电话号码格式: (4__) ___-____ (403) 3__-____ (403) 329-98__ (403) 329-9824 这将防止用户忘记区号等。我在其他地方见过这样做,但不确定从哪里开始 我肯定这是javascript,但它是用于RubyonRails应用程序的,所以如果你知道插件或其他东西的话 谢

到处都找不到,也许我找错动词了

我试图让一个文本框在你输入数字时需要某种格式。为了简单起见,让我们使用一个电话号码示例。当我在框中键入时,我需要一些指导原则来帮助用户输入正确的电话号码格式:

(4__) ___-____

(403) 3__-____

(403) 329-98__

(403) 329-9824
这将防止用户忘记区号等。我在其他地方见过这样做,但不确定从哪里开始

我肯定这是javascript,但它是用于RubyonRails应用程序的,所以如果你知道插件或其他东西的话

谢谢


Josh

我想您正在寻找jQuery插件

为什么不创建三个文本输入,并在它们填充时使用javascript在它们之间移动焦点

有关示例,请参见。它使用一个快速、普通的JS函数在输入之间前进:

function advance_phone(event, next_element)
{
   var evt = event ? event : window.event; // Older versions of IE don't pass along an event object
   var target = evt.target || evt.srcElement; // Get the target of the event

   if (target.value.length == target.maxLength)
   {
     document.getElementById(next_element).focus();
   }
}

您可以进一步改进它,以便在按下backspace时允许在框之间向后移动,并添加一个按键处理程序,将允许的按键限制为数字。或者,您甚至可以对输入进行样式化,使其符合Amit的建议。

+1


然而,由于您使用的是Rails,您可能需要依赖于Prototype而不是jQuery的东西。无论如何,检查一下这个

以使它与Prototype一起工作,这样我就不必包含jQuery库了?