2012-09-27 42 views
-2

有人请解释使用在最后6号线中使用美元符号:美元说明在Javascript

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

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

该函数可以被冷凝以'返回elem.value.match(/^[A-Z] + $/I);'。 – Blender

+0

@Blender - 不喜欢GNU大括号的风格:“让我们把大括号放在任何东西的中间”风格? (Ref:Your edit。) –

+1

@Blender实际上它是'return/^ [a-z] + $/i.test(elem.value)',因为返回值应该是一个布尔值。 – xdazz

回答

1

这是一个正则表达式。 这意味着行的末尾。

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

  • ^表示线路
  • [a-zA-Z]字母大写或小写字符
  • +许多时间的开始的线
+0

它太逃避'.'表示任何字符,'\ .'表示字符“dot” – 3on

1

在这方面的

  • $端,它锚定正则表达式模式到行尾。一个模式中的其他任何地方的$都只是一个$,但最后它是一个行尾锚点。

  • 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和结束以相同字符的一个行开头的行。

    0

    $匹配行结束。

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

    该功能还可以写更干净,如:

    function isAlphabet(elem) { 
        return /^[a-z]+$/i.test(elem.value); 
    }