2012-02-12 67 views
1

在以下代码中,我使用RegExp检查E,其中字符串敏感修饰符i在字符串The best things in life are free中。但即使字符串中没有大写字母E,它也会返回true带有区分大小写的修饰符的JavaScript中的RegExp

<html> 
<body> 

<script type="text/javascript"> 
var patt1=new RegExp("E","i"); 

document.write(patt1.test("The best things in life are free")); 
</script> 

</body> 
</html> 
+6

的* I *代表 “不区分大小写”。 – Gumbo 2012-02-12 12:14:26

+0

@Gumbo那是什么问题。 RegExp应该返回'false',因为字符串中没有大写'E''生命中最好的东西都是免费的' – sandbox 2012-02-12 12:18:21

回答

5

正则表达式的情况下默认为刚刚摆脱i标志的敏感i标志代表忽略的情况。

注意它通常更容易编写的正则表达式为:

/E/.test(inputstring) 

但如果你一个固定的字符串,最好在所有

containsChar = (inputstring.indexOf('E') > -1); 
不使用正则表达式的存在只是
测试

你可以找到更多关于regular expressionsindexOfmozilla's javascript reference site