如何将字符添加到文本框中

时间:2011-08-17 13:05:03

标签: jquery asp.net textbox

我想在一个文本框中添加一个字符,将两个字符分成两个,如下所示:

22:11

因此,当用户输入22时,它会自动切换到分隔符之后,然后用户可以输入11。

我怎么能这样做,谢谢。

4 个答案:

答案 0 :(得分:1)

你可以这样做:

$('#textbox').keyup(function(){
  if ($(this).val().length == 2) {
    $(this).val( $(this).val() + ':');
  }
});

请记住,此示例使用.keyup()方法,该方法在用户释放按钮时调用,因此如果他在值为222时释放按钮则无效

编辑

这是使用正则表达式的改进示例:

$('#textbox').keyup(function(){
    t = $(this);
    v = t.val();
    pattern = /^(\d{2})(\d*)$/;
    if (v.match(pattern)) {
        t.val(v.replace(pattern, '$1:$2'));
    }
});

jsFiddle

答案 1 :(得分:1)

使用'MaskedEdit'控件而不是文本框。使用'99:99'作为面具。

更多信息: http://www.asp.net/ajaxlibrary/HOW%20TO%20Use%20the%20MaskedEdit%20Control.ashx

答案 2 :(得分:0)

你可以使用Masked Input plugin模式“99:99”

JsFiddle link

对于asp.net,如果您使用的是ASP.NET AJAX Control Toolkit,则可以使用MaskedEdit扩展程序。

答案 3 :(得分:0)

  • 绑定文本框的keyUp事件
  • 在触发函数中检查RegExp(例如[0-2] [0-9])
  • 如果匹配将val()添加到':'字符串