文字列に特定の文字セットのみが含まれている場合、どうすればわかります{
A-Z
か}
?
例えば
{VARIABLE}
=>trueを返す必要があります{VARiABLE}
i
=>内部に小文字があるため、falseにする必要があります{ VARIABLE}
=>スペースなどがあるため、falseにする必要があります。
ああ、非常に重要です:
{
文字列には、との間に少なくとも1文字が}
必要です。したがって、次のようになります。
{}
偽である必要があります...
文字列に特定の文字セットのみが含まれている場合、どうすればわかります{
A-Z
か}
?
例えば
{VARIABLE}
=>trueを返す必要があります{VARiABLE}
i
=>内部に小文字があるため、falseにする必要があります{ VARIABLE}
=>スペースなどがあるため、falseにする必要があります。ああ、非常に重要です:
{
文字列には、との間に少なくとも1文字が}
必要です。したがって、次のようになります。
{}
偽である必要があります...これは、正規表現を使用するのに適したケースのように思えます。特に、正規表現を使用すると、文字の範囲に一致させることができます。[A-Z{}]
大文字、、、{
またはのいずれかである任意の文字に一致します}
。
新しい要件に基づいて編集します-リテラルで始まり{
、範囲内に少なくとも1つの文字がありA-Z
、次に終了するものと一致させたいとします}
。これは正規表現を与えます:
{[A-Z]+}
したがって、正規表現全体と照合できます。
val input = "{VARIABLE}"
return input.test(/{[A-Z]+}/) // returns true
"{VARiABLE}".test(/{[A-Z]+}/) // returns false
"{ VARIABLE}".test(/{[A-Z]+}/) // returns false
"".test(/{[A-Z]+}/) // returns false - open bracket didn't match
"{}".test(/{[A-Z]+}/) // returns false - A-Z part didn't match
その場合、以下を使用します。
/^{[A-Z]+}$/.test(str);
正規表現は、次の形式の任意の文字列を表します。
{
}
は^...$
、文字列が部分文字列のみではなく、正確にこの形式である必要があることを確認します(そうでない場合test{AAA}
も一致します)。
この正規表現を使用します:^[A-Z{}]+$
。それは許可A-Z
し、{}
負の正規表現一致を実行します。のようなものに一致/[^A-Z{}]/
して成功した場合、文字列には「許可されていない」ものが含まれています。
この正規表現を試してください...
/^[{}A-Z]+$/
/^[{}A-Z]+$/.test("{VARIABLE}") // => true
この式を使用します。
[AZ {}] *
ここで、角かっこ[]はどの文字が存在するかを示し、*はこのパターンが複数回繰り返される可能性があることを示しています。
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}の場合、alert( "これは正しい値です。はい、正しいです")を返します。