這里我有兩個輸入欄位
$(document).ready(function() {
$("#business_name").keyup(function() {
var Text = $(this).val();
Text = Text.toLowerCase();
Text = Text.replace(/[^a-zA-Z0-9] /g,'-');
$("#business_url").val(Text);
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="text" id="business_name" name="business_name" placeholder="Business Name" />
<br><br>
<input type="text" id="business_url" name="business_url" placeholder="Business URL" />
現在我想如果有人寫:我的企業名稱在第一個輸入欄位然后第二個欄位它將寫mybusiness就是這樣,但現在它顯示我的企業名稱我不想要這個(如果它需要更長的名稱,我只需要兩個詞然后它只顯示前兩個字就是這樣)
uj5u.com熱心網友回復:
要僅獲取前兩個單詞,您可以split()通過空格將字串放入陣列中,然后用于slice()獲取結果陣列的前兩個元素。然后,您可以將其重新組合在一起,然后再顯示在input.
另請注意,我添加trim()了一個正則運算式來用一個空格替換多個空格,否則它會影響split()構建陣列的方式并最終可能會丟失單詞。
jQuery($ => {
$("#business_name").on('input', e => {
var text = $(e.target).val().trim().replace(/\s /, ' ').toLowerCase().split(' ').slice(0, 2).join('');
$("#business_url").val(text);
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="text" id="business_name" name="business_name" placeholder="Business Name" /><br /><br />
<input type="text" id="business_url" name="business_url" placeholder="Business URL" />
uj5u.com熱心網友回復:
用 ' ' 替換某些字符后,計算字串中 ' ' 的數量。如果計數為 2,則停止替換,或者您可以從函式回傳。
看下面修改后的代碼:
$(document).ready(function() {
var count = 0;
$("#business_name").keyup(function() {
var Text = $(this).val();
Text = Text.toLowerCase();
Text = Text.replace(/[^a-zA-Z0-9] /g,' ');
count = (Text.split("-")).length - 1;
if (count == 2) {
return;
}
$("#business_url").val(Text);
});
});
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/504794.html
標籤:javascript jQuery
下一篇:固定網格導航欄和側邊欄
