【发布时间】:2010-12-06 12:38:03
【问题描述】:
【问题讨论】:
标签: php jquery jquery-plugins jquery-validate
【问题讨论】:
标签: php jquery jquery-plugins jquery-validate
您可以使用带有匹配正则表达式的自定义函数,如下所示:
$.validator.addMethod('no_url', function validatePositionNummer(value){
var re = /^[a-zA-Z0-9\-\.]+\.(com|org|net|mil|edu|COM|ORG|NET|MIL|EDU)$/;
var trimmed = trim(value);
if( trimmed == ''){
return true;
}
return trimmed.match(re);
},"No URLs allowed!");
然后您只需将新的自定义验证方法添加到元素:
$("#your_form").validate({
textarea: no_url
});
当然,你必须微调正则表达式。
【讨论】:
网址或链接?有区别。
但是,无论哪种情况,都不要忘记检查后端。您不能信任客户端验证。它应该只用于让用户的生活更轻松。
【讨论】:
@BernardMarx 感谢您的解决方案。
在这里,我根据我的要求使用了额外的正则表达式来验证协议。现在我需要在最后进行验证。请建议..
例如:
http://www.example.com/index.php
$.validator.addMethod('no_url', function validatePositionNummer(value){
var re = /^[a-zA-Z0-9\-\.\:\\]+\.(com|org|net|mil|edu|COM|ORG|NET|MIL|EDU)$/;
var re1 = /(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/;
var trimmed = $.trim(value);
if( trimmed == '' ){
return true;
}
if( trimmed.match(re) == null && re1.test(trimmed) == false){
return true;
}
},"No URLs allowed!");
【讨论】: