javascript - 确保文本的双引号被关闭
问题描述
如何确保以双引号开头的用户输入文本也以双引号结尾?或者它在文本中有一个双引号确保它像这样关闭:
test"a
错误的test"a"
正确的"test'
错误的"test"
正确的
我在按键事件上有一个委托函数,所以如果用户从"
它开始不应该在双引号关闭之前运行该函数,否则我传递值的 API 会抛出错误,因为引号没有关闭,但他们也可以输入没有引号的文本。
我已经尝试过正则表达式,但你有更好的方法吗?
if (filterDescriptor.value && String(filterDescriptor.value).startsWith('"') ) {
if(!String(filterDescriptor.value).match('"([^\\"]|\\")*"')) {
filterDescriptor.value = "";
}
}
解决方案
你可以这样做:
if (filterDescriptor.value
&& String(filterDescriptor.value).startsWith('"')
&& String(filterDescriptor.value).slice(-1) === '"'
) {
doSomething();
}
这些也是选项:
&& String(filterDescriptor.value).substr(-1) === '"'
或者
&& String(filterDescriptor.value).charAt(String(filterDescriptor.value).length - 1) === '"'
更新
要检查字符串是否包含两个引号,您可以使用 JavaScript 函数尝试此方法:
String(filterDescriptor.value).includes('"',String(filterDescriptor.value).search('"') + 1)
或使用正则表达式:
RegExp('.*".*".*').test(filterDescriptor.value.toString())
推荐阅读
- android - 为每个 recyclerView 项目制作自定义项目
- firebase - 我可以在我的应用程序中使用 google 电子表格而不是 firebase
- php - 如何使用 PHP 上传图片
- function - Simulink 模块从方程生成点
- javascript - 如何正确反转布尔值!操作员
- woocommerce - WooCommerce - 使用我们的应用程序身份验证端点自动生成 API 密钥给出 401 Invalid URL 错误
- python - 为什么 PyPy3 在启动新进程时速度较慢?
- c# - 如何在 ac# 应用程序中从具有不断变化的数据点的 datagridview 构建图形图表
- python-3.x - 满足 Python 依赖关系但 pip 仍然抱怨 zope.interface==4.6.0
- security - 如果我们存储银行详细信息,我们应该采取哪些安全措施?