5

オブジェクトの配列で検索を行うために、Jacob Wright による「array-query」と呼ばれる非常に優れた JavaScript ライブラリを使用しています。

1 つの方法はregex()、次のように正規表現を括弧内に含めることができる場所ですregex(/[^\w\s]/)。先ほど示したように式をハードコードすると、正常に機能します。最初に同じ式を変数に入れると、次のように機能しません。

var reg = "/[^\w\s]/"; 
regex(reg);

私が言われた

正規表現を引用符で囲み、文字列にしています。引用符を削除します。

したがって

var reg = /[^\w\s]/; 
regex(reg);

正常に動作します。

問題は、テキストボックスからのユーザー入力を正規表現の一部として受け入れる必要があることです。たとえば、ユーザーが文字を入力した場合は、zに変更する必要があります/z//z/返されたを入力してもtextbox.value、 と同じ問題がありvar reg = "/z/"ます。ハードコードvar reg = /z/; regex(reg);するとうまくいきます。

入力テキストボックスの値を"z"フォームにする方法はvar reg = z;? ヘルプやアイデアに感謝します。これがあまり混乱しないことを願っています。

4

3 に答える 3

4

やったほうがいい

var regex = new RegExp('your regex string');

基本的に考えられるのは

var regex = /pattern/modifiers;

なので

var regex = new RegExp(pattern,modifiers);

詳細については、MDNまたはw3schoolsを参照してください。

于 2013-06-13T07:57:42.240 に答える
-3

次のようなことができます。

var string = $('#input_id').val();
string = string.replace('/', '');

var regexpPattern = '/'+string+'/';
regex(regexpPattern);
于 2013-06-13T08:03:44.880 に答える