1

我有一个针对 html 表单中的文本区域的 javascript 正则表达式。这是正则表达式:

    regex = /[EePp]+/

我还想使用正则表达式来检查文本区域中字符串的长度,并将其限制为单个字符。

我试过了

    regex = /[EePp]{1}/

它只验证那些字符的正则表达式,但仍然允许文本区域中包含多个字符的字符串:

    <input type='text' onkeypress='validate(event)'> 

是否可以通过正则表达式做到这一点?

4

1 回答 1

2

如果您在正则表达式的开头和结尾添加锚点,^$将限制它仅匹配模式,而不匹配正在搜索的全部范围。

所以,/^[EePp]{1}$/ - 这表示 [EePP] 在正在搜索的内容的开头,^,在它和结尾之间没有任何东西,$,正在搜索的内容。

事实证明,在这种情况下,您不需要{1},因为锚准确地告诉它匹配延伸多远。所以:

/^[EePp]$/

应该这样做。

于 2013-01-23T16:50:34.453 回答