簡體   English   中英

如何根據電子郵件地址域/ TLD驗證jQuery中的表單字段? (.com,.net,.edu?)

[英]How to validate a form field in jQuery based on email address domain / TLD? (.com, .net, .edu?)

使用jQuery驗證字段以確保其在特定TLD中結束的最佳方法是什么? 假設我希望它只驗證電子郵件字段,如果它以.edu結尾

**編輯:剛剛意識到jQuery有自己的內置驗證,不確定我是否需要bassistance插件

我對這個特定的插件並不太熟悉,但看起來您應該能夠使用如下語法擴展它:

jQuery.validator.addMethod("emailOrg", function(email_org, element) {
    email_org = email_org.replace(/\s+/g, ""); 
    return this.optional(element) || /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+org$/i.test(email_org);
}, "Please specify a valid .org email");

$("#myform").validate({
  rules: {
    field: {
      required: true,
      emailOrg: true
    }
  }
});

該示例將驗證以org結尾的所有電子郵件,而不驗證其他電子郵件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM