如何确定用户输入的以双引号开头的文本也以双引号结尾?或者在文本中用双引号引起来,请确保将其关闭,例如:
test"a
错误test"a"
正确"test'
错误"test"
正确
我在按键事件上有一个委托函数,因此,如果用户以"
开头,则应在双引号关闭之前运行该函数,否则我传递值的API会引发错误因为没有关闭引号,但是他们也可以输入不带引号的文本。
我已经尝试过正则表达式,但是您有更好的方法吗?
if (filterDescriptor.value && String(filterDescriptor.value).startsWith('"') ) {
if(!String(filterDescriptor.value).match('"([^\\"]|\\")*"')) {
filterDescriptor.value = "";
}
}
答案 0 :(得分:1)
有一个简单的方法,您可以像这样检查最后一个字符:
filterDescriptor.value.toString().charAt(filterDescriptor.value.toString().length-1);
它将为您提供字符串中的最后一个字符,因此您可以对此进行验证。
为验证该字段为空不是很好,最好向用户显示错误或警告。
答案 1 :(得分:1)
您可以这样:
.r-tificial-text {
grid-column-start: 2;
grid-column-end: 10;
background-color: #fff;
}
这些也是opton:
if (filterDescriptor.value
&& String(filterDescriptor.value).startsWith('"')
&& String(filterDescriptor.value).slice(-1) === '"'
) {
doSomething();
}
或
&& String(filterDescriptor.value).substr(-1) === '"'
要检查字符串是否包含两个引号,可以使用JavaScript函数尝试以下方法:
&& String(filterDescriptor.value).charAt(String(filterDescriptor.value).length - 1) === '"'
或使用RegEx:
String(filterDescriptor.value).includes('"',String(filterDescriptor.value).search('"') + 1)