如何获取输入字段,根据一组规则过滤输入并应用于另一个字段



怎么做才是正确的呢?

标题输入字段

用户名输入字段

用户名规则:1到20个字母数字字符,包括下划线(_),小写

当用户键入像

这样的标题时
  • Hello World
  • 披萨集团
  • 疯狂的人!@#!@#!# *

用户名字段在用户键入标题时动态更新,格式化标题以满足用户名规则?

我需要一些键下与正则表达式?想法吗?由于

你可以用纯JS替换正则表达式。您可以使用jQuery绑定到keyPress事件(或任何其他您希望的事件)。希望对你有帮助。

$("#inputfld").keypress(function() {
  var fldval = $('#inputfld').val();
  $('#inputfld').val(fldval.replace(/[^a-zA-Z0-9_]+/g,''));
});

下面删除不允许的字符,并使用下划线代替空格。

$(function() {
   $("#title").keyup(function() {
      $("#username").val( $(this).val().replace(/[^A-Za-z0-9_ ]/g,"")
                                       .replace(/ /g, "_") );
   });
});

请注意(可能取决于浏览器),如果您使用keypress, .val()将不包括刚刚按下的键中的字符,因此两个字段将稍微不同步。对于keyup,它们将保持同步,除非你按住键并让它重复(尽管我猜你可以捕获keyup 按键来处理这个问题)。

最新更新