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
  1. 实际上不是jQueryRegex在你的情况下)

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

检查这个regexplained以便于理解您的regex

于 2013-09-05T11:58:26.803 回答
0

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

于 2013-09-05T12:01:13.833 回答