怎么做才是正确的呢?
标题输入字段
用户名输入字段
用户名规则: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 和按键来处理这个问题)。