我需要在WordPress网站上的某个表单中的电子邮件字段上进行额外验证。
我需要为输入字段添加一些正则表达式验证,以确保用户输入有效的大学电子邮件地址。在英国,所有学生的电子邮件都以“.ac.uk”结尾 例如,有效的电子邮件应该是:
myname@university.ac.uk
除了向该电子邮件帐户发送回复电子邮件(由表单处理)之外,我还需要对提交按钮单击或每个密钥进行验证检查。
我将使用表单的插件,但我应该能够轻松地在pluglin脚本中或在页脚中添加额外的jquery验证。
任何帮助都会让我感激,我理解最基本的正则表达式,但更加详细的解释会很高兴
答案 0 :(得分:0)
我认为这应该适合你
^[\w\d]+@[\w\d]+\.ac\.uk$
示例:
var str = 'myname@university.ac.uk'
var res = /^[\w\d]+@[\w\d]+\.ac\.uk$/.test(str);
console.log(res);
答案 1 :(得分:0)
@ aelor的答案很好,但它会拒绝一些有效的大学电子邮件地址,例如my.name@uni.ac.uk,myname@physics.uni.ac.uk,myname+123@uni.ac.uk。另外,我认为\w
包括\d
。
这是一个应该包含这些案例的RegEx(松散地基于始终值得信赖的regular-expressions.info):
^[\w]+[\w.%+-]*@[\w.-]+\.ac\.uk$
RegEx的详细解释:
^[\w]+
:以一个或多个字母/数字/下划线开头。[\w.%+-]*
:可选择继续使用字母/数字/下划线/点/百分比/加号/破折号。 @[\w.-]+
:然后是一个符号和一个或多个字母/数字/下划线/点/破折号。\.ac\.uk$
:以.ac.uk完成(点数被转义)。表单的完整演示:http://jsfiddle.net/fs6b9/
此外,它听起来像你这样做,但对于其他人来说,如果验证很重要(例如你需要限制注册.ac.uk地址),你应该在服务器端做,任何javaScript应该纯粹是为了帮助用户,因为它可以被忽略。