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

Test if digits are in ascending order - regular expression

本文关键字:排列 正则表达式 升序 数字 是否 测试      更新时间:2023-09-26

假设有一个 4 位数字,比如这个 1243,有没有办法使用正则表达式找出数字中的数字是否按升序排列,例如,当"1243"不是时,这是一个好的数字"3579"

您可以使用这样的正则表达式:

^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/

正则表达式是错误的作业工具。你最好用一个简单的循环来做到这一点:

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;
}
var string="1234";
var orderedString=string.split("").sort().join("");
return (string==orderedString);