Jquery if语句-仅接受字母的字段
处境 我有一个字段,它只需要接受字母。如果提交时display_name中有数字,则会弹出一个错误,但如果我输入pat123,它会接受它,这是我不想要的 瞄准 如果在display_name(显示名称)中输入了除字母以外的任何内容,因此没有数字和符号,则警告用户。我需要使用什么表达式,如何在代码中实现它,以便字段中只接受字母 变量fieldNum=/^[0-9a]+$/; var display_name=form.find'input[name=display_name]。.val; 如果显示\u name.matchfieldNum{ console.log'error'; } 您可以这样尝试:Jquery if语句-仅接受字母的字段,jquery,regex,Jquery,Regex,处境 我有一个字段,它只需要接受字母。如果提交时display_name中有数字,则会弹出一个错误,但如果我输入pat123,它会接受它,这是我不想要的 瞄准 如果在display_name(显示名称)中输入了除字母以外的任何内容,因此没有数字和符号,则警告用户。我需要使用什么表达式,如何在代码中实现它,以便字段中只接受字母 变量fieldNum=/^[0-9a]+$/; var display_name=form.find'input[name=display_name]。.val; 如果显
^字符表示正则表达式仅从字符串开始检查。这就是为什么123test的行为和您期望的一样,而test123却没有
尝试删除“^”,它应该可以工作。您的代码/逻辑中有两个错误 首先,正则表达式-why/^[0-9a]+$/?a怎么了 第二,如果正则表达式匹配,则记录一个错误。该正则表达式只匹配由数字或a组成的字符串 我相信你想做的是
var fieldNum = /^[a-z]+$/i;
var display_name = form.find('input[name="display_name"]').val();
if (!(display_name.match(fieldNum))) {
console.log('error');
}
正则表达式已修复,它会检查是否匹配 也许:
var myFunction=函数x{
如果!/^[a-zA-Z]+$/.testx.value{
控制台。记录“错误”
}
};
问题是什么?我使用什么表达式?如何在代码中实现它?所以只有信件在现场才被接受?谢谢。如果可能的话,我不想把它包含在HTML中?如果OP希望它包含大写字母,你应该使用像^[a-zA-Z]+$Important这样的表达式注意:任何像这样的JavaScript解决方案实际上都不会强迫用户只输入字母;如果他们愿意,他们可以轻易绕过你的支票。如果数据完整性是一个真正的问题,您需要在服务器端执行一些验证。@TomLord这里有服务器端验证。这只是为了前端验证,让用户知道他们犯了错误。谢谢你分享这些信息@PatrickMcDermott:-我已经为它添加了Jquery代码。我建议不要为此显示错误,因为这只会激怒您的用户。相反,您可以简单地限制它们只输入上面这样的字母。