jQuery如何检查字符串是否以1234开头

21

感谢您花时间回答我的问题。

我想检查一个字符串是否恰好有7个字符,并以“1234”开头。我该如何做到这一点?

我知道string.substring,但不确定是否应该使用正则表达式或是否有其他替代方法。提前致谢!


3
确切地说,长度为7且以“1234567”开头的字符串?很容易!if (str == "1234567") ... - Jon
1个回答

47

简单的正则表达式:

var isMatch = /^1234...$/.test(myString);

或者:

var isMatch = myString.length == 7 && myString.indexOf("1234") == 0;

编辑:或者:

var isMatch = myString.length == 7 && myString.substr(0, 4) == "1234";

谢谢Gilly。我会在11分钟内将您的答案作为我的问题的答案。再次感谢! - Dragan
3
使用substring和等值检查比使用indexOf更可取,因为在未找到匹配项的情况下,它无需搜索整个字符串。此外,在我看来,对于简单的任务,应该避免使用正则表达式。 - Jon
@Jon - 好的,我已经添加了一个.substr()版本。但就我个人而言,我喜欢正则表达式——它们如此精确和整洁。 - gilly3
1
小心,IE8浏览器不支持IndexOf函数。 - Pedro Lopes
@PedroLopes - 你在想Array.prototype.indexOf()。但是,这是一个字符串,而String.prototype.indexOf()至少从IE4开始就存在了。 - gilly3

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接