0

フォームには、「^」記号を制限したいテキスト フィールドがあります。正規表現でキャレット記号「^」をエスケープしようとしています。例えば

"abcdef".match([^])trueを返しています

提案をしてください。

4

4 に答える 4

3

行頭を一致させるには:

> 'abcdef'.match(/^/)
[ '', index: 0, input: 'abcdef' ]

リテラル に一致^させるには、エスケープします。

> 'abcdef'.match(/\^/)
null

文字クラス内のリテラルに一致^させるには、最初の位置を除く任意の位置に配置します。

> 'abcdef'.match(/[xyz^]/)
null
> 'abcdef'.match(/[def^]/)
[ 'd', index: 3, input: 'abcdef' ]
于 2012-11-22T12:25:48.280 に答える
1

.バックスラッシュ '\' を使用.search(/\^/)すると、'^' の機能が削除されます。この方法で制限できます。

于 2012-11-22T12:27:06.097 に答える
0

構文エラー。正規表現はJSで囲む必要があるため、次のようにする必要があります/

"abcdef".match("/[^]/"); //gives null

また、 を に含める必要はありません。次のようにエスケープ/する[]だけです\

"abcdef".match("/\^/"); //gives null

詳細については、http://www.regular-expressions.info/javascript.htmlを参照してください。

于 2012-11-22T12:25:31.587 に答える
0

文字列にキャレットが含まれているかどうかを確認したいだけなら

/\^/.test( "abcdef" ); // => false
/\^/.test( "^abcdef" ); // => true
/[^\^]/.test( "aslkfdjfs" ); // =>true as caret does not exist in string
于 2012-11-22T12:26:50.777 に答える