有人请解释第 6 行最后使用的美元符号的用法:
function isAlphabet(elem) {
var alphaExp = /^[a-zA-Z]+$/;
if(elem.value.match(alphaExp))
return true;
else
return false;
}
有人请解释第 6 行最后使用的美元符号的用法:
function isAlphabet(elem) {
var alphaExp = /^[a-zA-Z]+$/;
if(elem.value.match(alphaExp))
return true;
else
return false;
}
整个表达式,解释
|-------------- 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-z
或A-Z
以相同字符之一结束行的任何内容。
这是一个正则表达式。这意味着行的结束。
这个正则表达式匹配的是一个只有字母字符大小写的字符串。
^
表示行的开始[a-zA-Z]
大写或小写字母字符+
很多次$
队伍的尽头在这种情况下,它将正则表达式模式锚定到行尾。模式中的大多数其他地方的 $ 只是一个 $,但最后它是一个行尾锚。
$
匹配行尾。
/^[a-zA-Z]+$/
表示所有字符都是字母。
该函数还可以写得更干净,例如:
function isAlphabet(elem) {
return /^[a-z]+$/i.test(elem.value);
}