0
私はhtmlのテキストフィールドを持っており、入力はdomain \ userという形式である必要があります。私がこれを強制するために使用している正規表現はvar x = /\S+\\\S+/;
です。テキストボックスの入力値はx \ yです。テキストボックスの値を$('#textbox-name').val()
まで取得してreg-exの一致を実行すると、戻り値はfalseになります。しかし、$('#textbox-name').val().replace('\\', '\\\\');
を実行して一致を実行すると、結果は真です。 val()関数は戻り値をエスケープしませんか?JavaScript - テキストボックスから読み取った値はエスケープされていますか?
正規表現に '\\\\'が3つあるのはなぜですか? – Amit
@Amit:最初の2つはリテラルのバックスラッシュを示します。最後のものは空白以外の "\ S"の一部です。 –
正規表現がマッチする前にスラッシュをエスケープする必要はありません。私はあなたが試したものを正確に試しました。あなたの正確なコードを投稿してください - それは別のものかもしれません。 –