私は基本的に私のページで次の検証を行っています。つまり、テキストボックス内の説明は、単語 'and'を除いて3ワード以上にすることはできません。私は以下のサーバーサイド検証をC#でうまく動作しています。JavascriptでC#サーバ側のバリデーションを複製
if (Desc.Trim().ToString() != "")
{
MatchCollection collection = Regex.Matches(Desc.Replace("and", ""), @"[\S]+");
if (collection.Count > 3)
{
ErrorMsg.Append("Description should contain at most 3 words(excluding 'and').");
ErrorMsg.Append("\\n");
}
}
しかし、私はJavascriptで同じ作業をするのが難しいです。私は以下を試してみましたが、これまでのところ動作していないので、Javascriptの知識がある方にはエラーが表示されることを期待しています。ページが起動するより大きい検証関数の一部であることに注意してください。警告はちょうどそこに入っているかどうかを調べるためのものでした(これはそうではありません)。 - ブロックが削除されたとき、ページ上のJSの残りはうまく動作します。
if (Desc.val().trim() != "")
{
alert('1');
!regexWordRule.test(Desc.val());
alert('2');
if (Desc.val().match(regexWordRule).length > 3)
{
errorText += "Description should contain at most 3 words(excluding 'and').";
}
valid = false;
}
以下は、jsファイルの最上部に定義されたregexWordRuleです。
var regexWordRule = /[\S]+/;
これは素晴らしい作品です - 多くのありがとうございます。私の理解のために、あなたは削除と検索の\ bを説明できますか? –
\ bは単語境界に一致します。ここでは、スタンドアロンの単語 'and'のみを削除し、それを含む単語(バンド、風景など)からは部分文字列を削除しないようにしています。 @ Dimaの回答も参照してください。これは、リモート検証を検討することを示唆しています。これは検討する価値があります。 –