-2

有人请解释第 6 行最后使用的美元符号的用法:

function isAlphabet(elem) {
    var alphaExp = /^[a-zA-Z]+$/;

    if(elem.value.match(alphaExp))  
        return true;
    else
        return false;
}
4

4 回答 4

2

整个表达式,解释

                |-------------- Match the start of the line
                |         ----- Match the 'end of the line
                |         |
var alphaExp = /^[a-zA-Z]+$/;
                 |------|| +-- Close the regular expression
                 |  |   ||
                 |  |   |+---- Match one or more characters from the previous pattern
                 |  |   |----- Close the group
                 |  |--------- Match characters between "a" and "z" and "A" and "Z"
                 |------------ Start a group

整个事情,在英语中的意思是

匹配任何以字符开头的行a-zA-Z以相同字符之一结束行的任何内容。

于 2012-09-27T04:09:44.427 回答
1

这是一个正则表达式。这意味着行的结束。

这个正则表达式匹配的是一个只有字母字符大小写的字符串。

  • ^表示行的开始
  • [a-zA-Z]大写或小写字母字符
  • +很多次
  • $队伍的尽头
于 2012-09-27T04:02:23.573 回答
1

在这种情况下,它将正则表达式模式锚定到行尾。模式中的大多数其他地方的 $ 只是一个 $,但最后它是一个行尾锚。

于 2012-09-27T04:02:41.350 回答
0

$匹配行尾。

/^[a-zA-Z]+$/表示所有字符都是字母。

该函数还可以写得更干净,例如:

function isAlphabet(elem) {
  return /^[a-z]+$/i.test(elem.value);
}
于 2012-09-27T04:13:11.500 回答