测试数字是否按升序排列 - 正则表达式

时间:2013-10-02 01:28:31

标签: javascript regex

假设a有一个4位数字,就像这个1243一样,有一种方法,使用正则表达式,找出数字中的数字是否按升序排列,例如这是一个很好的数字“3579 “何时”1243“不是

3 个答案:

答案 0 :(得分: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/

答案 1 :(得分: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;
}

答案 2 :(得分:0)

var string="1234";
var orderedString=string.split("").sort().join("");
return (string==orderedString);