[英]remove case sensitivity from element ID before rule add?
我的注册表格会验证有效的电子邮件地址,然后尝试将提交的电子邮件的域与批准的域扩展列表进行匹配。 它有效,但是如果提交的电子邮件域包含大写字母,则匹配规则将返回错误。
我尝试将“ .tolowercase()”添加到元素ID(#s_email)中,但是在将其应用于规则之前,我无法将其转换为小写。 我应该对过滤后的变量运行规则吗?
<script type="text/javascript">
$.validator.addMethod('matches', function(value, element, param) {
return this.optional(element) || value.match(param);
},'<?php _e('Please enter a valid email address.', 'reg_domain_check'); ?>');
$(document).ready(function() {
$('#s_email').rules("add", {matches: '<?php echo rdc_js_domain_list(); ?>', messages: {matches: '<?php _e('Sorry, your email address has not yet been approved for registration.', 'reg_domain_check'); ?>'}});
});
</script>
我已经四处张望,找不到像上面这样的元素ID规则的解决方案。
在匹配值的地方使用.toLowerCase() 。 正如您所说,如果值是小写的,则表示匹配正确,为什么不将其转换为小写并匹配。
更改
value.match(param);
至
value.toLowerCase().match(param);
现在您的代码成为
<script type="text/javascript">
$.validator.addMethod('matches', function(value, element, param) {
return this.optional(element) || value.toLowerCase().match(param);
},'<?php _e('Please enter a valid email address.', 'reg_domain_check'); ?>');
$(document).ready(function() {
$('#s_email').rules("add", {matches: '<?php echo rdc_js_domain_list(); ?>', messages: {matches: '<?php _e('Sorry, your email address has not yet been approved for registration.', 'reg_domain_check'); ?>'}});
});
</script
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.