假设一个有一个 4 位数字,例如 1243,有没有办法使用正则表达式来找出数字内的数字是否按升序排列,例如这是一个很好的数字“3579”,当“ 1243" 不是
问问题
3516 次
3 回答
6
您可以使用这样的正则表达式:
^0*1*2*3*4*5*6*7*8*9*$
例子:
var re = /^0*1*2*3*4*5*6*7*8*9*$/;
alert(re.test('3579'));
alert(re.test('1243'));
演示:http: //jsfiddle.net/xYgpS/
于 2013-10-02T01:38:13.707 回答
2
正则表达式是不适合这项工作的工具。你最好用一个简单的循环来做到这一点:
function isAscending(str) {
str = str.toString();
for (var i = 0; i < str.length - 1; ++i) {
if (str[i] >= str[i + 1]) {
return false;
}
}
return true;
}
于 2013-10-02T01:35:33.363 回答
2
var string="1234";
var orderedString=string.split("").sort().join("");
return (string==orderedString);
于 2013-10-02T02:02:17.657 回答