如何使用 Javascript 检查我的数据字符串是否以标点符号开头?我看了Check if string is a punctuation character和 How to know that a string starts/ends with a specific string in jQuery?和其他一些人,但我不知道我要去哪里错了。
这是我到目前为止的一个片段:
var punctuations = [".", ",", ":", "!", "?"];
if (d.endContext.startsWith(punctuations)) {console.log(d.endContext)
} else {console.log('false')};
我只得到“假”返回,但如果我传入“。”在
if(d.endContext.startsWith('.'))
...
我得到了正确的结果。我也试过了
String punctuations = ".,:;?!"
喜欢Check if string is a punctuation character建议,但 Chrome 和 Firefox 都给了我错误消息(分别为“未捕获的语法错误:意外的标识符”和“语法错误:缺少;声明之前”)。看起来这个错误通常是因为在 Javascript 中编写多行字符串,我不认为我正在尝试这样做。 d.endContext 将打印多行字符串,但当我只传递“.”时它工作正常,所以我认为这不是问题所在。
最佳答案
使用正则表达式要简单得多。
var str = '.abc'
var result = !!str.match(/^[.,:!?]/)
console.log(result)
/
表示正则表达式的开始/结束^
表示“开始于”
之间的任何字符[]
表示“字符集”。它将匹配[
和]
!!
转换匹配
returns一个 bool 值。如果它返回一个匹配项,它将被转换为true
。如果返回null
,则将其转换为 false。
此外,这个应用程序非常适合学习正则表达式! http://regexr.com/
祝你有美好的一天! :D
关于javascript - 检查字符串是否以标点符号开头(Javascript),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32657021/