javascript - 如何检查 JavaScript 中变量中是否存在区分大小写和特殊字符的特定字符串?

标签 javascript jquery string pattern-matching

我这样有绳子,

“保存操作将覆盖DB中的[数据];。”

我正在验证这种方式以查找上述字符串是否存在于特定变量中。

var myVar  = "The save operation will overwrite [data] in DB;.";
                    var pattern = /The save operation will overwrite [data] in DB;./;
                    var exists = pattern.test(myVar);
                    alert(exists);

为什么即使模式和字符串 myVar 匹配..exists 仅在这种情况下返回 false?

只有当模式字符串=='保存操作将覆盖数据库中的[数据]时,我才希望存在= true;。'

对于其余所有情况,存在的情况应为 = false。

例如:保存操作将更新/覆盖DB中的[数据];。也应该返回 false。

当且仅当此模式完全匹配时,Exist 才应为 true。 “保存操作将覆盖数据库中的[数据];。”

我到底在哪里做错了?

提前致谢。

最佳答案

您正在使用模式匹配,因此您应该转义特殊字符 ( http://www.regular-expressions.info/refcharacters.html )。

正确的语法应该是

var myVar  = "The save operation will overwrite [data] in DB;.";
                var pattern = /^The save operation will overwrite \[data\] in DB;\.$/;
                var exists = pattern.test(myVar);
                alert(exists);

注意“[”、“]”和“.”之前的转义字符。另外,插入符号“^”告诉该行应该从那里开始,美元符号“$”告诉该行应该在那里结束。

如果你想保持大小写不变,可以添加“i”。对于多行,添加“g”

var myVar  = "The save operation will overwrite [data] in DB;.";
                var pattern = /^The save operation will overwrite \[data\] in DB;\.$/gi;
                var exists = pattern.test(myVar);
                alert(exists);

您可以使用this site测试正则表达式。

关于javascript - 如何检查 JavaScript 中变量中是否存在区分大小写和特殊字符的特定字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33229377/

相关文章:

javascript - 无法在 Android 上显示 KendoUI 按钮

string - 将字符串转换为日期数字

android - 可在字符串资源中绘制

JavaScript 替换字符

javascript - 强制输入字段首字母大写,其余字母小写

javascript - nuxt.js - 如何动态设置css背景图片

javascript - 将带有前导零的颜色十六进制数字转换为字符串

javascript - 有没有办法只使用 JavaScript 从另一个域加载 XML 文件?

javascript - Jquery addClass——新类的函数

python - 这两个Python代码的时间复杂度差异是多少?