如果某个字符串只包含一组特定字符,我该怎么办?{
A-Z
和}
?
例如
{VARIABLE}
=>应该返回true {VARiABLE}
=>应该是假的,因为i
{ VARIABLE}
=>应该是假的,因为有空间等。哦,非常重要:
字符串必须在{
和}
之间至少有一个字符,所以:
{}
也应该是假的...... 答案 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}
,它将返回警报(“这是正确的值,是的,它是正确的”)