在javascript正则表达式中使用$ symbol?

时间:2013-09-05 11:56:34

标签: javascript

在下面的正则表达式中为什么我们使用$ symbol?这是什么意思? 谁有人解释一下?我一直在寻找这个吗?

           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 个答案:

答案 0 :(得分:3)

美元符号表示正则表达式中的一行结束。

在这种情况下它的作用是确保正则表达式检查frm.alphabet.value是否包含a-z或A-Z,紧接着是行结尾。如果你删除了美元字符,“abc1337”将是有效输入,虽然即使是美元字符,一开始没有插入符号,“1337abc”将是有效输入。

答案 1 :(得分:2)

$将表达式绑定到字符串的末尾(也称为anchor)。匹配的字符串必须以大写或小写字母结尾。

虽然,FWIW,该表达式也应该使用字符串锚点(^)f的开头,但是他们想要确保它只是字符串中的字母。 (没有它,5abc的值将通过该正则表达式。)

var foo = '5abc';
if (foo.match(/[a-zA-Z]$/)) {
  // this block is executed despite the 5 being there.
  console.log('match');
}

答案 2 :(得分:0)

  1. 实际上它不是jQuery Regex (在您的情况下)

  2. $ - 如果美元符号($)位于整个正则表达式的末尾,它匹配行的结尾

  3. 选中此regexplained,以便您轻松了解regex

答案 3 :(得分:0)

^$分别代表正则表达式中一行的开头和结尾