以下是正确的方法:
标题的输入字段
用户名
的输入字段用户名规则:1到20个字母数字字符,包括下划线(“_”),小写
当用户键入标题时:
当用户键入标题格式化标题以符合用户名规则时,用户名字段会动态更新吗?
我需要一些正则表达式的keydown吗?想法?感谢
答案 0 :(得分:1)
您可以使用纯JS进行正则表达式替换。您可以使用jQuery绑定到keyPress事件(或任何其他您希望的事件)。希望这会有所帮助。
$("#inputfld").keypress(function() {
var fldval = $('#inputfld').val();
$('#inputfld').val(fldval.replace(/[^a-zA-Z0-9_]+/g,''));
});
答案 1 :(得分:0)
以下删除不允许的字符,并放置下划线而不是空格。
$(function() {
$("#title").keyup(function() {
$("#username").val( $(this).val().replace(/[^A-Za-z0-9_ ]/g,"")
.replace(/ /g, "_") );
});
});
请注意(可能与浏览器有关)如果您使用keypress
.val()
将不包含刚刚按下的键中的字符,那么这两个字段将略微不同步。使用keyup
它们将保持同步,除非你按住键并让它重复(尽管我猜你可以捕获keyup 和 keypress来处理它)。