Burchak2 elektron pochta tekshiruvi

Men Angular2 ni o'rganishda yangi bo'ldim va RegEx naqshidan keyin elektron pochta xabarlarini tekshiradigan tasdiqlash formasini tuzishni xohlayman.

Mening kodim shu kabi narsaga o'xshaydi, lekin men to'g'ri ish qilyapmanmi yoki noto'g'ri qilganim haqida hech qanday tasavvurga ega emasman, kimdir menga bir oz yordam berishi mumkinmi?

Rahmat!

Men uni tuzatdim. Barchangizga katta rahmat.

<div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false"> <div class="snippet-code">

<div class="alert-email">
    
    <input type="email" id="contactemail" name="contactemail"
           required ng-pattern="/^[a-zA-Z0-9.!#$%&’*+/=?^_`{|}~-][email protected][a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/"
           [(ngModel)]="model.contactemail" #contactemail="ngModel"
           placeholder="Your email" />

<div *ngIf="contactemail.errors && (contactemail.dirty || contactemail.touched)" class="alert-email alert-danger-email">
<div [hidden]="!contactname.errors.required"> Email is required </div> <div [hidden]="!contactname.errors"> Please input a valid email. </div> </div> </div>
</div> </div>
23
regex chegarasi / ni olib tashlashingiz kerak
qo'shib qo'ydi muallif Avinash Raj, manba
Siz "tahrir qildim" deb tahrirlanganingizdan beri. siz ehtimol javobni qabul qilishingiz kerak (yoki siz boshqacha qilib aytsangiz, javob bering va buni qabul qiling)
qo'shib qo'ydi muallif Hoi_A, manba
Siz "tahrir qildim" deb tahrirlanganingizdan beri. siz ehtimol javobni qabul qilishingiz kerak (yoki siz boshqacha qilib aytsangiz, javob bering va buni qabul qiling)
qo'shib qo'ydi muallif Hoi_A, manba

6 javoblar

Burchakli 4-ilovada kiritilishi mumkin bo'lgan "elektron pochta" tekshirish yorlig'i mavjud. Masalan,

<input type="email" id="contactemail" email>

Bu raqamlar va harflarning ketma-ketligi va undan keyin yana bir qator harflar uchun amal qiladi. Keyin nuqta nuqsonni hisobga olmaydi - siz kirish va standart regexdagi «naqsh» yorlig'ini ishlatishingiz mumkin.

51
qo'shib qo'ydi
Faqat angular4dan beri foydalanish mumkin
qo'shib qo'ydi muallif LeO, manba
Buni ishlatganda, "zarur" deb aniqlanmasa ham, bu kiritish keraksiz tarzda talab qilinadi. Xato yoki xususiyatmi?
qo'shib qo'ydi muallif Strinder, manba
E-mail manzili uchun .com yoki bunday narsalar bilan yakunlanishi shart emas. Foydalanuvchi @ localhost haqiqiy
qo'shib qo'ydi muallif Geoff Lentsch, manba
Buni ngClass bilan birga qanday ishlatishingiz mumkin? [ngClass] = "{invalid:! email.valid}" ?
qo'shib qo'ydi muallif Minum, manba
Chop etildi. Ushbu kod bilan <input> = input = "form-control" # userEmail = "ngModel" name = "email" [(ngModel)] = "email" naqsh = "^ \ w + ([ ] \ w +) * @ \ w + ([\ .-]? \ w +) * (\. \ w {2,3}) + $ "[ngClass] =" {invalid: userEmail.touched &&! userEmail? joriy} "kerakli elektron pochta">
qo'shib qo'ydi muallif Minum, manba
@JakeKieranan <input type = "text" class = "form-control" # firstName = "ngModel" name = "fname" [(ngModel)] = "fname" [ngClass] = "{invalid: firstName.touched &&! fname} "> Men asosan shu kabi ishlarni qilmoqchiman, biroq e-mail haqiqiy emas, agar invalid sinfini qo'shsangiz? Shu kabi bir narsa. <input type = "email" class = "form-control" # userEmail = "ngModel" name = "elektron pochta" [(ngModel)] = "elektron pochta" elektron pochta [ngClass] = "{invalid: email.touched && ! fname &&! email.pattern} "> Elektron pochta manzili noto'g'ri bo'lsa, naqsh tekshirilgan joyda & class invalid qo'shiladi
qo'shib qo'ydi muallif Minum, manba
Men ham xuddi shu narsani sezdim. E-pochta maydoni bo'sh bo'lsa ham, ariza to'g'ridan-to'g'ri bekor.
qo'shib qo'ydi muallif Challe, manba
xato xabari ko'rsatish uchun nima kerak * ngIf sharti?
qo'shib qo'ydi muallif Ankur Shah, manba

Burchakli 4-ilovada kiritilishi mumkin bo'lgan "elektron pochta" tekshirish yorlig'i mavjud. Masalan,

<input type="email" id="contactemail" email>

Bu raqamlar va harflarning ketma-ketligi va undan keyin yana bir qator harflar uchun amal qiladi. Keyin nuqta nuqsonni hisobga olmaydi - siz kirish va standart regexdagi «naqsh» yorlig'ini ishlatishingiz mumkin.

51
qo'shib qo'ydi
Faqat angular4dan beri foydalanish mumkin
qo'shib qo'ydi muallif LeO, manba
Buni ishlatganda, "zarur" deb aniqlanmasa ham, bu kiritish keraksiz tarzda talab qilinadi. Xato yoki xususiyatmi?
qo'shib qo'ydi muallif Strinder, manba
E-mail manzili uchun .com yoki bunday narsalar bilan yakunlanishi shart emas. Foydalanuvchi @ localhost haqiqiy
qo'shib qo'ydi muallif Geoff Lentsch, manba
Chop etildi. Ushbu kod bilan <input> = input = "form-control" # userEmail = "ngModel" name = "email" [(ngModel)] = "email" naqsh = "^ \ w + ([ ] \ w +) * @ \ w + ([\ .-]? \ w +) * (\. \ w {2,3}) + $ "[ngClass] =" {invalid: userEmail.touched &&! userEmail? joriy} "kerakli elektron pochta">
qo'shib qo'ydi muallif Minum, manba
@JakeKieranan <input type = "text" class = "form-control" # firstName = "ngModel" name = "fname" [(ngModel)] = "fname" [ngClass] = "{invalid: firstName.touched &&! fname} "> Men asosan shu kabi ishlarni qilmoqchiman, biroq e-mail haqiqiy emas, agar invalid sinfini qo'shsangiz? Shu kabi bir narsa. <input type = "email" class = "form-control" # userEmail = "ngModel" name = "elektron pochta" [(ngModel)] = "elektron pochta" elektron pochta [ngClass] = "{invalid: email.touched && ! fname &&! email.pattern} "> Elektron pochta manzili noto'g'ri bo'lsa, naqsh tekshirilgan joyda & class invalid qo'shiladi
qo'shib qo'ydi muallif Minum, manba
Buni ngClass bilan birga qanday ishlatishingiz mumkin? [ngClass] = "{invalid:! email.valid}" ?
qo'shib qo'ydi muallif Minum, manba
Men ham xuddi shu narsani sezdim. E-pochta maydoni bo'sh bo'lsa ham, ariza to'g'ridan-to'g'ri bekor.
qo'shib qo'ydi muallif Challe, manba
xato xabari ko'rsatish uchun nima kerak * ngIf sharti?
qo'shib qo'ydi muallif Ankur Shah, manba

Try Something like that

<div class="alert-email">
        
            <input
                id="contactemail"
                type="text"                
                #contactemail="ngModel"
                [(ngModel)]="model.contactemail"
                required
                pattern="^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$">

        <div class="md-errors-spacer" [hidden]="contactemail.valid || contactemail.untouched">
            <div  *ngIf="contactemail.errors && contactemail.errors.required">
                Email is required
            </div>
            <div  *ngIf="contactemail.errors && contactemail.errors.pattern">
                Email is invalid
            </div>
        </div>
    </div>
29
qo'shib qo'ydi
Sizga mos ravishda o'zgartirishingiz kerak bo'lgan yangi TLDlar mavjud
qo'shib qo'ydi muallif Toolkit, manba
u ishlamayapti
qo'shib qo'ydi muallif Deepak Chawla, manba
<input id = "CompanyEmail" = "matn" [(ngModel)] = " user.Email" class = form-nazorat "naqsh =" [a-zA-Z0-9 .- ] {1,} @ [a-zA-Z.-] {2,} [.] {1} [a-zA -Z] {2,} "kerak # CompanyEmail =" ngModel "placeholder =" Iltimos kompaniyaning elektron pochta manzilini kiriting "/> <div * ngIf =" CompanyEmail.invalid && (CompanyEmail.dirty || CompanyEmail.touched) "class =" " ogohlantirish xabari-xavfi "> <div * ngIf =" CompanyEmail.errors.required "> Kompaniya uchun elektron pochta xabari talab qilinadi. <div * ngIf = "CompanyEmail.errors && CompanyEmail.errors.pattern"> Elektron pochta manzili noto'g'ri
qo'shib qo'ydi muallif ssmsnet, manba
men uchun kodni topish uchun ishlagan.
qo'shib qo'ydi muallif ssmsnet, manba
Afsuski, ishlamayapti
qo'shib qo'ydi muallif Sergiu, manba

Try Something like that

<div class="alert-email">
        
            <input
                id="contactemail"
                type="text"                
                #contactemail="ngModel"
                [(ngModel)]="model.contactemail"
                required
                pattern="^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$">

        <div class="md-errors-spacer" [hidden]="contactemail.valid || contactemail.untouched">
            <div  *ngIf="contactemail.errors && contactemail.errors.required">
                Email is required
            </div>
            <div  *ngIf="contactemail.errors && contactemail.errors.pattern">
                Email is invalid
            </div>
        </div>
    </div>
29
qo'shib qo'ydi
Sizga mos ravishda o'zgartirishingiz kerak bo'lgan yangi TLDlar mavjud
qo'shib qo'ydi muallif Toolkit, manba
u ishlamayapti
qo'shib qo'ydi muallif Deepak Chawla, manba
<input id = "CompanyEmail" = "matn" [(ngModel)] = " user.Email" class = form-nazorat "naqsh =" [a-zA-Z0-9 .- ] {1,} @ [a-zA-Z.-] {2,} [.] {1} [a-zA -Z] {2,} "kerak # CompanyEmail =" ngModel "placeholder =" Iltimos kompaniyaning elektron pochta manzilini kiriting "/> <div * ngIf =" CompanyEmail.invalid && (CompanyEmail.dirty || CompanyEmail.touched) "class =" " ogohlantirish xabari-xavfi "> <div * ngIf =" CompanyEmail.errors.required "> Kompaniya uchun elektron pochta xabari talab qilinadi. <div * ngIf = "CompanyEmail.errors && CompanyEmail.errors.pattern"> Elektron pochta manzili noto'g'ri
qo'shib qo'ydi muallif ssmsnet, manba
men uchun kodni topish uchun ishlagan.
qo'shib qo'ydi muallif ssmsnet, manba
Afsuski, ishlamayapti
qo'shib qo'ydi muallif Sergiu, manba

Burchaklar 4 E-pochtani tekshirish:

  • Use email to your input
  • If you want .com for email use pattern pattern="[a-zA-Z0-9.-_]{1,}@[a-zA-Z.-]{2,}[.]{1}[a-zA-Z]{2,}

Yakuniy:

`<input type="email" [(ngModel)]="enterEmail" name="myEmail" #myEmail="ngModel" email pattern="[a-zA-Z0-9.-_]{1,}@[a-zA-Z.-]{2,}[.]{1}[a-zA-Z]{2,}" required>`
17
qo'shib qo'ydi
Eng yaxshi javobingiz uchun tashakkur
qo'shib qo'ydi muallif Juvenile Snow, manba
Rahmat - bu, eng avvalo, 9 yoki 10 ning birinchi bo'lib ishlaganimga ishonchim komil.
qo'shib qo'ydi muallif b0rgBart3, manba

Bitta maydonda bir nechta elektron pochtani tekshirish uchun maxsus elektron pochta tekshirgichidan foydalanasiz.

import { FormControl } from '@angular/forms';

export class EmailValidator {

public static isValid(email) {
    var re = /^(([^<>()\[\]\\.,;:\[email protected]"]+(\.[^<>()\[\]\\.,;:\[email protected]"]+)*)|(".+"))@((\[[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(String(email).toLowerCase());
}

static isMultiValid(control: FormControl): any {

  console.log(control.value);
  let tempEmail = control.value;
  let invalid = false;
  let regex =/[a-z0-9!#$%&'*+=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?/g;

  if(tempEmail.indexOf(',') > -1){
    var emails = control.value.split(',');
      for (let email of emails) {
        console.log(email);
        let isValid = EmailValidator.isValid(email)
        if(!isValid){
          return{"email not valid":isValid}
        }
      }
      return null;
  }
  else{
    let email = control.value.split(',');
    if( email == "" || ! regex.test(email)){
        invalid = true;
        return {
            "email not valid": invalid
        };
    }
    console.log("valid");
    return null;

   }
  }
}

.

2
qo'shib qo'ydi
Angular Uzbekistan
Angular Uzbekistan
107 ishtirokchilar

Guruh Angular bo'yicha muloqot qilish uchun ochilgan Sizni qiziqtirsa: @nodejs_uz @react_uz @angular_uz @yiiframework_uz @js_uzb @typescript_uzb @vuejs_uz @ngTashkent @laravel_uz @uzdevgroup Ish o'rinlari @UzDev_jobs

ngTashkent
ngTashkent
77 ishtirokchilar

Правила просты: 1. Не хамить 2. Не хейтить 3. Реакт не нужен Ссылки: https://t.me/angular_ru - старший брат https://t.me/angular_uz - ангулар на узбекском @js_uzb @vuejs_uz @react_uz @nodejs_uz @yiiframework_uz @uzdevgroup @UzDev_Jobs @tasdev_talks