フォームには、「^」記号を制限したいテキスト フィールドがあります。正規表現でキャレット記号「^」をエスケープしようとしています。例えば
"abcdef".match([^])
trueを返しています
提案をしてください。
フォームには、「^」記号を制限したいテキスト フィールドがあります。正規表現でキャレット記号「^」をエスケープしようとしています。例えば
"abcdef".match([^])
trueを返しています
提案をしてください。
行頭を一致させるには:
> 'abcdef'.match(/^/)
[ '', index: 0, input: 'abcdef' ]
リテラル に一致^
させるには、エスケープします。
> 'abcdef'.match(/\^/)
null
文字クラス内のリテラルに一致^
させるには、最初の位置を除く任意の位置に配置します。
> 'abcdef'.match(/[xyz^]/)
null
> 'abcdef'.match(/[def^]/)
[ 'd', index: 3, input: 'abcdef' ]
.バックスラッシュ '\' を使用.search(/\^/)
すると、'^' の機能が削除されます。この方法で制限できます。
構文エラー。正規表現はJSで囲む必要があるため、次のようにする必要があります/
"abcdef".match("/[^]/"); //gives null
また、 を に含める必要はありません。次のようにエスケープ/
する[]
だけです\
。
"abcdef".match("/\^/"); //gives null
詳細については、http://www.regular-expressions.info/javascript.htmlを参照してください。
文字列にキャレットが含まれているかどうかを確認したいだけなら
/\^/.test( "abcdef" ); // => false
/\^/.test( "^abcdef" ); // => true
/[^\^]/.test( "aslkfdjfs" ); // =>true as caret does not exist in string