Regex 如何过滤Sitefinity表单段落文本框以禁止URL?

Regex 如何过滤Sitefinity表单段落文本框以禁止URL?,regex,forms,validation,spam-prevention,sitefinity,Regex,Forms,Validation,Spam Prevention,Sitefinity,我的公司每天通过客户联系表收到几封(3-5封)垃圾邮件。我们正在使用的reCaptcha并不是出于某种原因阻止它们,但它们太少了,可能涉及到一个真正的人类 他们的一个共同点是段落文本框中的某种URL链接,用于附加注释。没有任何理由让真正的客户发布URL,所以我们想我们可以将验证设置为排除这些URL,并暂停一天。但是,我不能让它工作 编辑文本框时,我进入高级>模型>验证器定义,以便输入自定义正则表达式代码,以禁止使用http/https/ftp进行任何操作: ^(?!((http[s]?|ftp)

我的公司每天通过客户联系表收到几封(3-5封)垃圾邮件。我们正在使用的reCaptcha并不是出于某种原因阻止它们,但它们太少了,可能涉及到一个真正的人类

他们的一个共同点是段落文本框中的某种URL链接,用于附加注释。没有任何理由让真正的客户发布URL,所以我们想我们可以将验证设置为排除这些URL,并暂停一天。但是,我不能让它工作

编辑文本框时,我进入高级>模型>验证器定义,以便输入自定义正则表达式代码,以禁止使用http/https/ftp进行任何操作:

^(?!((http[s]?|ftp):\/)?\/?)

但我很难确定要在哪个字段中输入这个,以及需要更改哪些其他字段以确保它正常工作。从中可以看出,ExpectedFormat字段应该是自定义的,但是我的正则表达式代码去了哪里?将它放在RegularExpression字段中会激活任何内容的RegularExpressionViolationMessage,而不仅仅是URL,因此我怀疑我的正则表达式可能是错误的,即使我把它放在正确的位置。

我真的无法进入配置部分。链接的文档看起来非常清晰。
如果您在动态模块中,可能会有帮助:

您可以在ModuleBuilder模块->您的模块中找到regex字段 ->您的模块类型->单击正则表达式验证所需的字段->选择“限制”选项卡(示例)

关于正则表达式本身,可以这样尝试()


您可能需要添加一个
(?s)
单行标志:
(?s)^((?!(?:(https?\ftp)(?:\/)))*$

这是否回答了您的问题?这成功了!我的问题是我的正则表达式。非常感谢你!
^((?!(?:(https?|ftp)(?::\/\/))).)*$