Saya memiliki skrip mailer di mana saya menempelkan daftar alamat email di bidang input (dibatasi koma) dan berdasarkan alamat tersebut subjek email dibuat. Subjek, dalam hal ini, harus menjadi domain penerima pertama dalam daftar yang dipisahkan koma.

The emails are pasted in the first input and heading is generated from domain address

Jadi, pada dasarnya, yang seharusnya terjadi adalah jQuery harus mengambil daftar alamat email yang dipisahkan koma, menggunakan huruf besar pada domain dari email pertama yang diinput, dan memasukkannya ke kolom input lain.

Seharusnya seperti ini masukkan deskripsi gambar di sini

Terima kasih banyak atas bantuan siapa pun.

0
Awesim 12 Mei 2021, 20:02

2 jawaban

Jawaban Terbaik

Pisahkan string dengan koma (diikuti dengan spasi opsional) untuk memisahkan alamat email dan ambil elemen pertama (indeks 0): $src.val().split( /,\s*/ )[0]. Kemudian pisahkan alamat email tersebut pada @, dan ambil bagian kedua (indeks 1): split(/@/)[1].

Bersama:

// Extract the first domain name from the list of emails:
let s = $src.val().split( /,\s*/ )[0].split(/@/)[1]

// Convert first letter to uppercase:
s = s[0].toUpperCase() + s.substring(1);

Diterapkan ke kode Anda:

$(function () {
  var $src = $('#to'),
  $dst = $('#subject');
  $src.on('input', function () {
    let s = $src.val().split( /,\s*/ )[0].split(/@/)[1];
    $dst.val( s[0].toUpperCase() + s.substring(1) );
  });
});

Untuk cara alternatif menggunakan huruf besar pada string, lihat Bagaimana cara membuat huruf pertama dari string menjadi huruf besar di JavaScript?

1
kmoser 12 Mei 2021, 17:20

Lihatlah ini

$(function() {
 let $src = $('#to'),
    $dst = $('#subject');
  $src.on('input', function() {
    const to = $src.val();
    $dst.val(to.split(/[,;]/).map(email => {
      const domain = email.split('@')[1];
      return domain ? domain.charAt(0).toUpperCase() + domain.slice(1) : '';
    }).join(', '));
  });
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="text" id="to" />
<input type="text" id="subject" />
2
mplungjan 12 Mei 2021, 17:18