ヌクレオチドのシーケンスを対応するアミノ酸に変換するクロムエクステンションを作成していますが、ユーザー入力の検証に問題があります。ユーザー入力文字列に大文字と小文字しか含まれていないか確認する(JavaScript)
最終的に、ユーザーが大文字または小文字(数字、特殊文字、スペースなどなし)のみを入力していることを確認する必要があります。許容できない文字が見つかった場合は、無効な入力をユーザーに警告します。それ以外の場合、プログラムは正常に進み、エラー/アラートはスローされません。
以下は私が現在持っているJavaScriptコードです。私はthis postに基づいていくつかのバリエーションを試しましたが、私のために何かを得ることができないようです。私が今あるコードでは、有効な入力(たとえば "ATG")を提出しようとすると、プログラムが正常に進行し、 "M"を正しく出力する代わりに警告がポップアップします(参考としてthis linkを参照)。
JavaScriptには比較的新しいので、助けてください。それが役に立ちそうなら、私の追加コードの一部を投稿してください。
document.getElementById('button').onclick = function() {
console.log(document.querySelectorAll("textarea"))
var n_seq = document.querySelectorAll("textarea")[0].value.toUpperCase();
// validate user input below
if (!/^[a-zA-Z]+$/i.test(n_seq)); {
alert("invald input");
return;
}
document.getElementById("amino_acid_seq").value = translateInput(codonDict, n_seq);
}
toUpperCaseのメソッドです。あなたはそれを 'toUpperCase()'と呼んでいません。単純な 'console.log(n_seq)'は、あなたに問題を示していました。 – epascarello
シンプルな入力ミス。できるだけ早く閉じなければならない。答えは必要ありません。 – rottenoats
toUpperCaseは問題を引き起こしていません。不足している括弧は、自分の投稿の誤字であり、コードの誤字ではありません。 – Happy