1

次の正規表現で、なぜ $ 記号を使用しているのですか? どういう意味ですか?誰でも説明できますか?私は長い間これを探していましたか?

           function AllowAlphabet(){
           if (!frm.alphabet.value.match(/[a-zA-Z]+$/) && frm.alphabet.value !="")
           {
                frm.alphabet.value="";


                alert("Please Enter only alphabets");
           }
           if(frm.alphabet.value.length > 5)
           alert("max length exceeded");
4

4 に答える 4

3

ドル記号は、正規表現の行の終わりを示します。

frm.alphabet.valueこの場合、正規表現が az または AZ を含み、その直後に行末が続くことを確認します。ドル文字を削除した場合、「abc1337」は有効な入力になりますが、ドル文字を使用しても先頭にキャレットがない場合は「1337abc」が有効な入力になります。

于 2013-09-05T11:58:04.270 に答える
2

$式を文字列の末尾にバインドします (アンカーとも呼ばれます)。一致する文字列は、大文字または小文字で終わる必要があります。

ただし、FWIW、その式は文字列アンカーの開始 ( ^) も使用する必要があります。文字列内の文字のみであることを確認したい場合。(それがなければ、値は5abcその正規表現で渡されます)。

var foo = '5abc';
if (foo.match(/[a-zA-Z]$/)) {
  // this block is executed despite the 5 being there.
  console.log('match');
}
于 2013-09-05T11:58:11.913 に答える
0

^行頭と$行末をそれぞれ正規表現で表す

于 2013-09-05T12:01:13.833 に答える
0
  1. 実際にはそうではありませんjQueryRegexあなたの場合)

  2. $- ドル記号 ($) が正規表現全体の末尾にある場合、行末に一致します。

を簡単に理解できるように、この正規表現を確認してくださいregex

于 2013-09-05T11:58:26.803 に答える