我有两个输入字段我想根据用户输入命名,但这个名称应该是小写,单词之间的空格变为“ - ”。我这样做
$(function() {
$("#name").keyup(function() {
var name = $("#name").val();
var alias = name.charAt(0);
$("#alias").val(alias);
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<input name="name" class="text-input medium-input" type="text" id="name" value="" />
<input name="alias" class="text-input medium-input" type="text" id="alias" />
这给了我结果我在第一个输入字段写“arslan”然后在第二个输入字段中显示“a” 只显示一个字母
我想根据用户输入命名,但这个名称应该是小写,单词之间的空格变为“ - ”。
使用replace
$("#alias").val( name.replace( /\s+/g, "-" ) );
你的功能应该是这样的
$(function() {
$("#name").keyup(function() {
var name = $("#name").val();
$("#alias").val( name.toLowerCase().replace( /\s+/g, "-" ) );
});
});
您应该将名称输入中的整个条目复制到别名,同时用' - '替换空格并将其转换为小写。
$("#name").keyup(function() {
$("#alias").val($(this).val().replace(" ", "-").toLowerCase());
});
简单解决方案
var name = $("#name").val().toLowerCase();
var alias = name.split(" ").join("-");
$("#alias").val(alias);
这会对你有所帮助
$(function() {
$("#name").keyup(function() {
var name = $("#name").val().toLowerCase();
$("#alias").val(name.replace(/-/g,' '));
});
});
replace
将改变名称中所有带有空格的-