Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.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
Regex 正则表达式仅检查3个字符_Regex - Fatal编程技术网

Regex 正则表达式仅检查3个字符

Regex 正则表达式仅检查3个字符,regex,Regex,我有这个正则表达式,规则是用户只能输入3个字符,并且必须是大写 这是我的正则表达式,但它不起作用 '^([A-Z\s]+){2}' 你能告诉我我的配方有什么问题吗?我只想为3个字符设置一个规则,所有字符都必须是大写。试试这个:3个字符应该可以: /^[A-Z]{3}/ 希望这是你期待的答案 /^[A-Z]{3}$/ {3}是匹配限制和最大计数的技巧。这是原始正则表达式 ^:行的开头 团体 [A-Z\s]:大写字母或空格 +:前面的1个或多个字符(大写字母或空格) {2}:必须有前一组

我有这个正则表达式,规则是用户只能输入3个字符,并且必须是大写

这是我的正则表达式,但它不起作用

'^([A-Z\s]+){2}'

你能告诉我我的配方有什么问题吗?我只想为3个字符设置一个规则,所有字符都必须是大写。

试试这个:3个字符应该可以:

/^[A-Z]{3}/
希望这是你期待的答案

/^[A-Z]{3}$/

{3}
是匹配限制和最大计数的技巧。

这是原始正则表达式

  • ^
    :行的开头
  • 团体
    • [A-Z\s]
      :大写字母或空格
    • +
      :前面的1个或多个字符(大写字母或空格)
  • {2}
    :必须有前一组的2个
这几乎可以匹配任何包含2个或更多大写字母和空格的内容


我想你想要的是三个大写字母,不考虑空格

^\s*([A-Z]\s*){3}$

从行首开始,任意数量的空格,一个组的三个实例,然后是行尾


该组必须包含一个大写字母,后跟任意数量的空格。

运算符表示“一个或多个上一个正则表达式”。确切地说是“前三个正则表达式”。。。说吧

^[A-Z\s]{3}$
我还添加了尾随的
$
,否则您只能检查至少有三个(在许多正则表达式实现中)


如果不想包含空格,请根据Jeffery Thomas的答案取出
\s

,下面是一个工作示例:

var input=document.getElementById('fname'))
var div=document.getElementById('divID');
函数checkInput(){
常量正则表达式=/^\s*([A-Z]\s*){3}$/
div.innerHTML=“”;
让isValid=regex.test(input.value);
如果(有效){
div.innerHTML=“有效”;
}否则{
div.innerHTML=“无效”;
}
}


是否要将
$
添加到末尾?否则ABCD将匹配到为什么您认为这应该有效?
{2}
不会添加到上一个实体,它会显示上一个实体的数量。您建议的正则表达式包含与空格匹配的
\s
。您的要求中没有提到空格:“只有3个字符,必须全部大写。”请具体说明应如何处理空格(以及其他非字母字符,如有必要),以防止答案受到不同的解释。注意:3个空格与此模式匹配。不需要资金。