繁体   English   中英

在添加规则之前从元素ID中删除区分大小写?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM