Qualtrics自定义验证:排除文本响应尾随空格并验证邮箱后缀
解决方案1:正则表达式验证(推荐)
直接用Qualtrics的正则匹配规则替换原有验证逻辑,同时实现后缀校验和空格拦截:
- 进入问题的「Response Requirements」→「Add a validation」
- 选择「Matches Regular Expression」选项
- 输入正则表达式:
^\S+@org\.com$^\S+:限制@符号前的内容不能包含任何空白字符(空格、制表符等)@org\.com$:强制邮箱必须以@org.com结尾,\.转义点号避免正则匹配任意字符
这个规则会直接拒绝所有含空格的输入,同时确保后缀符合要求,彻底解决尾随空格导致的逻辑失效问题。
解决方案2:JavaScript从源头控制空格
如果想让用户输入时就无法键入空格,或自动清除首尾空格,给问题添加自定义脚本:
- 点击问题右上角齿轮图标→「Add JavaScript」
- 替换默认代码为:
Qualtrics.SurveyEngine.addOnload(function() { var inputField = this.getQuestionContainer().querySelector('input[type="text"]'); // 禁止输入空格 inputField.addEventListener('keydown', function(e) { if (e.key === ' ') { e.preventDefault(); } }); // 失去焦点时自动去除首尾空格(应对复制粘贴带空格的情况) inputField.addEventListener('blur', function() { this.value = this.value.trim(); }); });
这样用户既打不出空格,就算复制带空格的内容,离开输入框时也会自动清理首尾空格,后续显示逻辑就能正常匹配邮箱。
补充:原有逻辑失效的原因
Qualtrics的「DOES NOT CONTAIN」规则存在逻辑优先级问题——当系统先检测到输入包含@org.com时,可能直接判定验证通过,没有严格执行“且不包含空格”的联合条件。改用正则或JavaScript能完全规避这个漏洞。
内容的提问来源于stack exchange,提问作者Mary Rachel
相关产品推荐
相关产品推荐

