Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery if语句-仅接受字母的字段_Jquery_Regex - Fatal编程技术网

Jquery if语句-仅接受字母的字段

Jquery if语句-仅接受字母的字段,jquery,regex,Jquery,Regex,处境 我有一个字段,它只需要接受字母。如果提交时display_name中有数字,则会弹出一个错误,但如果我输入pat123,它会接受它,这是我不想要的 瞄准 如果在display_name(显示名称)中输入了除字母以外的任何内容,因此没有数字和符号,则警告用户。我需要使用什么表达式,如何在代码中实现它,以便字段中只接受字母 变量fieldNum=/^[0-9a]+$/; var display_name=form.find'input[name=display_name]。.val; 如果显

处境

我有一个字段,它只需要接受字母。如果提交时display_name中有数字,则会弹出一个错误,但如果我输入pat123,它会接受它,这是我不想要的

瞄准

如果在display_name(显示名称)中输入了除字母以外的任何内容,因此没有数字和符号,则警告用户。我需要使用什么表达式,如何在代码中实现它,以便字段中只接受字母

变量fieldNum=/^[0-9a]+$/; var display_name=form.find'input[name=display_name]。.val; 如果显示\u name.matchfieldNum{ console.log'error'; } 您可以这样尝试:


^字符表示正则表达式仅从字符串开始检查。这就是为什么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代码。我建议不要为此显示错误,因为这只会激怒您的用户。相反,您可以简单地限制它们只输入上面这样的字母。