جواد پاکدل
4 سال پیش توسط جواد پاکدل مطرح شد
4 پاسخ

اعتبارسنجي ايميل توسط جاوااسکريپت

سلام و وقت بخير خدمت دوستان. من يه کد ساده براي اعتبارسنجي ايميل نوشتم که ميخوام اين شروط رو داشته باشه: کارکتر @ و . توي ايميل وارد شده وجود داشته باشه و حتما يک کارکتر . بعد از @ وجود داشته باشه علاوه بر اينکه کارکتر . ميتونه قبل از @ باشه يا نباشه. اما وجودش بعد از @ الزاميه.
شرط دوم رو لطفا راهنمايي بفرماييد چجوري بنويسم. ممنونم
کدي که نوشتم :


<body>

Enter email:
<input id="myEmail" type="text">
<button onclick="validation()">Check</button>

<h2 id="demo"></h2>
<script>

function validation() {

    var myEmail = document.getElementById('myEmail').value;
    var message = '';

    if ( (myEmail.indexOf('@') == -1) || (myEmail.indexOf('.') == -1) ) {

        message = 'your email is invalid'

    } else {

        message = 'your email is valid'
    }

    document.getElementById('demo').textContent = message;
}

</script>
</body>```

ثبت پرسش جدید
محمد
تخصص : Laravel
@mprogrammer7 4 سال پیش مطرح شد
1

سلام
بهتره که از regex استفاده کنی

/^[a-zA-Z0-9-_]+@[a-zA-Z0-9]+.[a-zA-Z]{1,10}$/

تو جاوااسکریپت فک کنم با متد test. میشه از رجکس استفاده کرد
@JavadPakdel


moha li
تخصص : توسعه دهنده لاراول و Vue
@mohaligateway 4 سال پیش مطرح شد
0

سلام
کد های زیر را امتحان کنید.

function validateEmail(email) {
  const re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
  return re.test(email);
}

function validate() {
  const $result = $("#result");
  const email = $("#email").val();
  $result.text("");

  if (validateEmail(email)) {
    $result.text(email + " is valid :)");
    $result.css("color", "green");
  } else {
    $result.text(email + " is not valid :(");
    $result.css("color", "red");
  }
  return false;
}

$("#validate").on("click", validate);

و برای html

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<form>
  <p>Enter an email address:</p>
  <input id='email'>
  <button type='submit' id='validate'>Validate!</button>
</form>

<h2 id='result'></h2>

@JavadPakdel


جواد پاکدل
تخصص : Front-End
@JavadPakdel 4 سال پیش آپدیت شد
0

@mohaligateway @mrn خيلي ممنونم از پاسختون. اما اين يک تمرينه و قصد استفاده توي پروژه رو ندارم. فقط اون قسمت دوم شرط رو ميخواستم پياده سازي کنم.


سیدعلی موسوی
تخصص : سی شارپ و پی اچ پی
@juza66 4 سال پیش آپدیت شد
0

معمولا برای اینکه کار ساده بشه از regex استفاده میشه

function emailIsValid (email) {
  return /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(email)
}

emailIsValid('tyler@tyler@ui.dev') // false
emailIsValid('tyler@ui.dev') // true

اگر با ایف های تودرتو بخوای هندل کنی هم بیشتر باید کد بزنی و هم خطاهای js زیاده!


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام