Validate multiple email addresses in single input text example

Validate multiple email addresses in single input text example

Add multiple email addresses in single input text field is useful when you are going to send bulk email at one action, you don't need to add multiple input email field for sending bulk email.

Simple add a input text filed for validate multi input email field.


  1. <input type="email" name="recipient_email" id="recipient_email" class="form-control">
Script for multiple input

Here i add a function to validate email field using JavaScript regex function to confirm if input value is valid email then it will allow you to enter for second email in input text field otherwise it will fire alert message, it validates when you type your email id or something else and press enter, space or type comma (,) sign if validation goes successfully then you can enter more emails within single input text field.


  1. <script>
  2.     function validateEmail(email) {
  3. var re = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
  4. return re.test(email);
  5. }
  6. (function( $ ){
  7. $.fn.multipleInput = function() {
  8. return this.each(function() {
  9. // list of email addresses as unordered list
  10. $list = $('<ul/>');
  11. // input
  12. var $input = $('<input type="email" id="email_search" class="email_search multiemail"/>').keyup(function(event) {
  13. if(event.which == 13 || event.which == 32 || event.which == 188) {
  14. if(event.which==188){
  15. var val = $(this).val().slice(0, -1);// remove space/comma from value
  16. }
  17. else{
  18. var val = $(this).val(); // key press is space or comma
  19. }
  20. if(validateEmail(val)){
  21. // append to list of emails with remove button
  22. $list.append($('<li class="multipleInput-email"><span>' + val + '</span></li>')
  23. .append($('<a href="#" class="multipleInput-close" title="Remove"><i class="glyphicon glyphicon-remove-sign"></i></a>')
  24. .click(function(e) {
  25. $(this).parent().remove();
  26. e.preventDefault();
  27. })
  28. )
  29. );
  30. $(this).attr('placeholder', '');
  31. // empty input
  32. $(this).val('');
  33. }
  34. else{
  35. alert('Please enter valid email id, Thanks!');
  36. }
  37. }
  38. });
  39. // container div
  40. var $container = $('<div class="multipleInput-container" />').click(function() {
  41. $input.focus();
  42. });
  43. // insert elements into DOM
  44. $container.append($list).append($input).insertAfter($(this));
  45. return $(this).hide();
  46. });
  47. };
  48. })( jQuery );
  49. $('#recipient_email').multipleInput();
  50. </script>

You can add style over input text field.

Add Style

  1. <style>
  2. /*multi email input*/
  3. .multipleInput-container {
  4. border:1px #ccc solid;
  5. padding:1px;
  6. padding-bottom:0;
  7. cursor:text;
  8. font-size:13px;
  9. width:100%;
  10. height: 75px;
  11. overflow: auto;
  12. background-color: white;
  13. border-radius:3px;
  14. }
  15. .multipleInput-container input {
  16. font-size:13px;
  17. /*clear:both;*/
  18. width:150px;
  19. height:24px;
  20. border:0;
  21. margin-bottom:1px;
  22. outline: none
  23. }
  24. .multipleInput-container ul {
  25. list-style-type:none;
  26. padding-left: 0px !important;
  27. }
  28. li.multipleInput-email {
  29. float:left;
  30. margin-right:2px;
  31. margin-bottom:1px;
  32. border:1px #BBD8FB solid;
  33. padding:2px;
  34. background:#F3F7FD;
  35. }
  36. .multipleInput-close {
  37. width:16px;
  38. height:16px;
  39. background:url(close.png);
  40. display:block;
  41. float:right;
  42. margin:0 3px;
  43. }
  44. .email_search{
  45. width: 100% !important;
  46. }
  47. </style>

You can validate on any key code, in this example i have validated emails on enter, space and comma (,).

Phone: (+91) 8800417876
Noida, 201301