正则表达式(如果字符串包含 E 或 F 字母)
Regex if string contains E or F letter
我正在尝试使用以下代码检查字符串是否包含特定的字母,例如E
或F
/^(F?)/.test('E22')
问题是它返回true
,而它应该返回false
。最让我困扰的是,在 regexpal.com 测试正则表达式是完美的,但是当应用时......错。
知道出了什么问题吗?
http://jsfiddle.net/alleks/CykQv/
更新
我把自己解释错了。在不同的情况下,我会进行单独检查。因此,在特定情况下,我需要查看字符串是否包含E
,而在其他情况下,如果包含F
//Case1
if (/^(F?)/.test(stringContainsE)) ....
//Case2
if (/^(F?)/.test(stringContainsF)) ....
更新2
这两种情况在不应该返回 TRUE 时都返回 TRUE:http://jsfiddle.net/alleks/CykQv/2/
问号使 F 可选。 该正则表达式将为每个字符串返回 true。
/[EF]/
将匹配包含字母 E 和/或字母 F 的字符串。
编辑:正如保罗在他的评论中提到的,^字符与字符串的开头匹配。 如果该字符必须出现在字符串的开头,则:
/^E/
将在字符串的开头测试一个 E。 只需省略^
,如果您想在字符串中的任何位置。 但是,在这种情况下,在Javascript中,您应该简单地使用:
myString.charAt(0) === 'E' // for the beginning or
myString.indexOf('E') !== -1 // for anywhere
这个简单操作的正则表达式是矫枉过正的。
I'm trying to check if a string contains specific letters like E or F
正则表达式应为:
/[EF]/.test('E22');
您的正则表达式^F?
使 F 成为可选,对于任何输入,它将始终返回 true。
更新:这应该在没有可选锚?
的情况下工作
//Case1
if (/^E/.test(stringContainsE)) ....
//Case2
if (/^F/.test(stringContainsF)) ....
相关文章:
- 对一个对象使用reduce可以返回一个没有't在数组中包含目标字母
- 正好包含2个大写字母和3个数字的正则表达式
- 正则表达式,以字母开头,在javascript中包含x个字符
- 长度为N的字符串的javascript正则表达式,其中至少包含一个字母x
- 如何测试只包含字母字符和短划线(-)[javascript]的字符串
- 如何根据链接中包含的字母/单词查找并单击链接
- 编写一个包含一个大写字母和六个数字的javascript表达式
- 如何更新单词列表中搜索框中包含用户键入内容的单词/字母数
- 正则表达式(如果字符串包含 E 或 F 字母)
- 密码的正则表达式必须包含至少八个字符,至少一个数字以及小写和大写字母以及特殊字符
- 正则表达式密码必须包含字母,至少一个特殊字符和至少一个数字
- JavaScript 来检查 HTML 输入值是否包含字母和数字
- Javascript 简单检查网络表单,以确保它包含数字和字母(而不是我的代码)
- 正则表达式至少包含 10 个字符,包括 1 个数字和一个大写字母
- 密码必须是字母数字,至少包含 8 个字符 - 验证
- 正则表达式用于匹配包含正好两个字母 e 和介于 1 和 3 个字母 a 之间的所有单词
- 正则表达式检查字符串是否仅包含字母数字字符和空格 - javascript
- 确保Window.prompt返回的值仅包含字母
- 添加一个额外的
- ,其中包含项目值上每个现有的首字母
- 在同时包含数字和字母的字符串中拆分数字和字母