0
基本的に、私は動作しないコードスニペットがあり、私は少しバインドしています。私はNode.jsを初めて使用しています。今は、Expressと非常に単純なMVC設定で作業しています。すべて正常に動作し、私が却下をfalseに設定すると、フォームの入力が停止するはずです。 regex.test(first_name) - first_nameが "< < < >>>"であってもfalseを返します。正規表現をRubularでテストしたので、正しいことが分かりました。私は何が欠けていますか?私は、私が(私はRailsから来た)に慣れていないnpm/regex実装のものがあると確信しています。regex with javascript - 私の 'injection' checkがtrueを返す必要があります
module.exports = {
validate_form_submission: function (first_name, last_name, street_address, city, state, zip) {
var Regex = require("regex");
var regex = new Regex(/([<>\/])/);
var function_reply = true;
//validate presence of fields
if (!(first_name) || !(last_name) || !(street_address) || !(city) || !(state) || !(zip))
{
function_reply = false;
};
//check for SQL injection
if ((regex.test(first_name)) || regex.test(last_name) || regex.test(street_address) || regex.test(city) || regex.test(state) || regex.test(zip))
{
function_reply = false;
};
return function_reply;
}
}
なぜ 'require(" regex ")'が必要ですか?正規表現はJavaScriptのネイティブな値型であり、ノードモジュールを動作させる必要はありません。 'var regex = /([<> \ /])/;と書くことができます。問題が解決するかどうかは分かりませんが、ノードモジュールを必要とする必要はありません。 – jas7457
ok私はそれを試みます。ありがとう!編集:それは働いた。 npm regexモジュールのためのBoo。先端に感謝します。私が 'var regex = /([<> \ /])/;'の2つの 'var(R/r)egex' – kristeraxel
私はあなたがテストしていると思うもので小さなフィドルを作った。この例では、概念証明としてfirst_nameを使用しました。これは期待している出力ですか? https://jsfiddle.net/ecknd13r/ – jas7457