找出一个字符串是否由一组特定字符组成

时间:2011-07-14 14:48:32

标签: javascript jquery regex string codemirror

如果某个字符串只包含一组特定字符,我该怎么办?{ A-Z}

例如

  • {VARIABLE} =>应该返回true
  • {VARiABLE} =>应该是假的,因为
  • 里面有一个小写的i
  • { VARIABLE} =>应该是假的,因为有空间等。

哦,非常重要:

字符串必须在{}之间至少有一个字符,所以:

  • {}也应该是假的......

7 个答案:

答案 0 :(得分:6)

这听起来像是使用正则表达式的好例子。特别是,正则表达式允许匹配一系列字符 - [A-Z{}]将匹配任何大写字母{}的字符。

根据新要求

编辑 - 您希望将启动的内容与文字{匹配,然后至少有一个字符{{1} 1}},然后结束A-Z。这给了正则表达式:

}

因此,您可以匹配整个正则表达式:

{[A-Z]+}

答案 1 :(得分:6)

在这种情况下使用:

/^{[A-Z]+}$/.test(str);

regexp表示格式的任何字符串:

  • 首先是{
  • 然后是一个或多个大写字母
  • 然后是}

^...$确保字符串应该完全属于这种形式,而不仅仅是子字符串(否则test{AAA}也匹配)。

答案 2 :(得分:2)

使用此正则表达式:^[A-Z{}]+$。它只允许A-Z{}

答案 3 :(得分:2)

进行负正则表达式匹配。如果您匹配/[^A-Z{}]/之类的内容并获得成功,则该字符串包含“不允许”的内容。

答案 4 :(得分:1)

试试这个正则表达式......

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

/^[{}A-Z]+$/.test("{VARIABLE}") // => true

答案 5 :(得分:1)

使用此表达式。

[A-Z {}] *

这里方括号[]坚持要出现的字符,*表示这种模式可以重复多次。

答案 6 :(得分:1)

Jquery代码:

$(document).ready( function(){                          
   $('#test_regex').click( function(){
      regex= /^{[A-Z]+}$/;
      str= $('#reginput').val();
      result= regex.test(str);
      if( result ){
        alert("It's the correct value, yes it's right");
      }else{
        alert("It's incorrect value.. You know");
      }
   });
});

HTML代码:

<input type="text" id="reginput"/>
<button id="test_regex">Check Value</button>

如果值 {UPPERCASELETTERS}

,它将返回警报(“这是正确的值,是的,它是正确的”)