【问题标题】:Check if the string ends with a question mark using jquery [duplicate]使用jquery检查字符串是否以问号结尾[重复]
【发布时间】:2014-08-20 18:33:44
【问题描述】:

如何使用 jquery 检查输入的问题格式是否有效?

例如:我有一个字符串“你好吗?” .我需要确定它是否是一个

问题与否。我需要做的只是检查字符串是否以'?'结尾?.谢谢 。

【问题讨论】:

  • 您尝试过什么来解决您的问题?仅供参考,它与 jQuery 无关。
  • 那么像西班牙语这样的语言呢,似乎一个问题应该在'¿'之前并在'?'之后进行
  • 我不反对这个问题,然后删除它

标签: javascript


【解决方案1】:

这样就可以了...

if (value.substr(-1) === "?") {
    // do what you need here
}

string.substr(x) 将从索引为x 的字符开始,并转到字符串的末尾。这通常是一个正数,所以"abcdef".substr(2) 返回"cdef"。如果您使用负数,则它从字符串的末尾向后计数。 "abcdef".substr(-2) 返回"ef"

string.substr(-1) 只返回字符串的最后一个字符。

【讨论】:

  • 你能不能解释一下substr()在这种情况下是如何工作的
  • 没问题 - 很高兴为您提供帮助 :)
  • 感谢@Archer 的解释,最好把它放在答案中
【解决方案2】:

如果你想要一个可爱的 endsWith 函数:

String.prototype.endsWith = function(pattern) {
    var d = this.length - pattern.length;
    return d >= 0 && this.lastIndexOf(pattern) === d;
};

console.log('Is this a question ?'.endsWith('?')); // true

回答here

【讨论】:

    【解决方案3】:

    您可以使用\?$ 正则表达式查找以 ? 结尾的字符串标记。

    var str = "what is your name?";
    var patt = new RegExp("\? $");
    if (patt.test(str))
    {
          // do your stuff
    }
    

    【讨论】:

    • 这段代码抛出Uncaught SyntaxError: Invalid regular expression: /? $/: Nothing to repeat
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-25
    • 2012-03-22
    • 1970-01-01
    • 1970-01-01
    • 2013-08-23
    • 1970-01-01
    相关资源
    最近更新 更多