我是Nunjucks / Express和Node领域的新手。
我有一个路由文件,该文件正在移植来自表单字段的输入值。我需要检查该值是否包含表达式“ gov”。
所以我创建了以下内容:
router.get('/test/output/', function (req, res) {
var emailAdress = req.session.data['accountEmail']
if ('gov' in emailAdress){
isCS = true
}
res.render('test/output.html',{
'email' : emailAdress,
.... 等等...
这给了我以下错误:
TypeError: Cannot use 'in' operator to search for 'gov' in '[email protected]'
我知道这与对象和数组有关-我只是找不到解决方案-我很欣赏它的简单性。任何帮助深表感谢。
最佳答案
in
operator仅适用于对象,不适用于字符串基元。
要在字符串中搜索,可以使用includes
:
emailAdress.includes('gov')
与ES5兼容的版本(在
includes
之前):emailAdress.indexOf('gov') !== -1
或者,您可以检查字符串是否以
'gov'
结尾:emailAdress.endsWith('gov')