我有以下脚本将我在一个字段中输入的内容复制到另一个字段中。
演示:https://jsfiddle.net/wk3nmc76/
我想知道是否有可能将第二个字段更改为去除空格并使值小写?
<p><input type="text" name="full_name" id="full_name" placeholder="Full Name"/></p>
<p><input type="text" name="last_name" id="last_name"></p>
$('#full_name').keyup(function(){
$('#last_name').val(this.value);
});
为此,
您可以使用toLowerCase()
和正则表达式的组合来删除所有空格。试试这个:
$('#full_name').on('input', e => {
$('#last_name').val(e.target.value.toLowerCase().replace(/s/g, ''));
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.1/jquery.min.js"></script>
<p>
<input type="text" name="full_name" id="full_name" placeholder="Full Name" />
</p>
<p>
<input type="text" name="last_name" id="last_name">
</p>
<小时 />2023 更新
replaceAll()
方法现在具有足够广泛的浏览器支持,使其成为使用正则表达式的可行替代方案:
$('#full_name').on('input', e => {
$('#last_name').val(e.target.value.toLowerCase().replaceAll(' ', ''));
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.1/jquery.min.js"></script>
<p>
<input type="text" name="full_name" id="full_name" placeholder="Full Name" />
</p>
<p>
<input type="text" name="last_name" id="last_name">
</p>
$('#full_name').keyup(function(){
$val = $(this).val()
stripped_val = $val.replace(' ', '');
lowercase_stripped_val = stripped_val.toLowerCase();
$('#last_name').val(lowercase_stripped_val);
});
或者,简而言之:
$('#full_name').keyup(function(){
$val = $(this).val()
modified_val = $val.replace(' ', '').toLowerCase();
$('#last_name').val(modified_val);
});