Я несколько дней боролся с этой проверкой. Я работаю с Javascript для проверки пользовательского пин-кода из 4 цифр, который не должен принимать соседние повторяющиеся цифры, такие как 1135 или 1552 и т. Д. Он не должен принимать последовательности цифр, например: { {X2}} или 3456 или даже 1275 (0 последовательных цифр, таких как 12** *56*, **87, 21** (т. Е. Нет восходящих или нисходящих последовательность).

Я пытался изменить регулярное выражение из этого ответа из @polygenelubricants

Его регулярное выражение следующее:

^(?=\d{4}$)(?:(.)\1*|0?1?2?3?4?5?6?7?8?9?|9?8?7?6?5?4?3?2?1?0?)$

Но это также совпадает с 3579, что в моем случае должно быть разрешено, поэтому я изменил его так, чтобы он был примерно таким (что в моей голове означает совпадение всех четырехзначных чисел, затем поиск всех цифр и проверка, если они не повторяются более одного раза ИЛИ, если он не находит 0 и 1 рядом с ним или 1 и 2 рядом с ним ... (и то же самое в порядке убывания))

^(?:\d{4}$)(?:(.)(?!\1)|0?1?|1?2?|2?3?|3?4?|4?5?|5?6?|6?7?|7?8?|8?9?|9?8?|8?7?|7?6?|6?5?|5?4?|4?3?|3?2?|2?1?|1?0?)$

Однако, когда я проверял это, я получаю все 4-значные числа, но это не оценивает, повторяются ли они более одного раза или чередуются.

См. запущенный пример

5
Frakcool 16 Дек 2015 в 21:45

3 ответа

Лучший ответ

Как насчет чего-то вроде этого:

(?!.*(?:(\d)\1|12|23|34|45|56|67|78|89|98|87|76|65|54|43|32|21))\d{4}

Протестировано здесь: http://www.regexpal.com/?fam=93673

И если нужно включить 0, сделайте это:

(?!.*(?:(\d)\1|01|12|23|34|45|56|67|78|89|98|87|76|65|54|43|32|21|10))\d{4}
7
Bart Kiers 16 Дек 2015 в 19:23

Я думаю, это должно сделать:

/^(?!.*(00|11|22|33|44|55|66|77|88|99|01|12|23|34|45|56|67|78|89|10|21|32|43|54|65|76|87|98))\d{4}$/

https://regex101.com/r/lY7nD4/1

3
Johan Karlsson 16 Дек 2015 в 19:20

Регулярное выражение не является правильным способом сделать это, потому что регулярное выражение не может сравнивать числа.

Однако надежное решение регулярных выражений будет генерировать все разрешенные последовательности и объединять их в большое регулярное выражение. Я думаю, что это будет

/^(?:0202|0203|0204|0205|0206|0207|0208|0209|0240|0241|0242|0246|0247|0248|0249|0250|0251|0252|0253|0257|0258|0259|0260|0261|0262|0263|0264|0268|0269|0270|0271|0272|0273|0274|0275|0279|0280|0281|0282|0283|0284|0285|0286|0290|0291|0292|0293|0294|0295|0296|0297|0302|0303|0304|0305|0306|0307|0308|0309|0313|0314|0315|0316|0317|0318|0319|0350|0351|0352|0353|0357|0358|0359|0360|0361|0362|0363|0364|0368|0369|0370|0371|0372|0373|0374|0375|0379|0380|0381|0382|0383|0384|0385|0386|0390|0391|0392|0393|0394|0395|0396|0397|0402|0403|0404|0405|0406|0407|0408|0409|0413|0414|0415|0416|0417|0418|0419|0420|0424|0425|0426|0427|0428|0429|0460|0461|0462|0463|0464|0468|0469|0470|0471|0472|0473|0474|0475|0479|0480|0481|0482|0483|0484|0485|0486|0490|0491|0492|0493|0494|0495|0496|0497|0502|0503|0504|0505|0506|0507|0508|0509|0513|0514|0515|0516|0517|0518|0519|0520|0524|0525|0526|0527|0528|0529|0530|0531|0535|0536|0537|0538|0539|0570|0571|0572|0573|0574|0575|0579|0580|0581|0582|0583|0584|0585|0586|0590|0591|0592|0593|0594|0595|0596|0597|0602|0603|0604|0605|0606|0607|0608|0609|0613|0614|0615|0616|0617|0618|0619|0620|0624|0625|0626|0627|0628|0629|0630|0631|0635|0636|0637|0638|0639|0640|0641|0642|0646|0647|0648|0649|0680|0681|0682|0683|0684|0685|0686|0690|0691|0692|0693|0694|0695|0696|0697|0702|0703|0704|0705|0706|0707|0708|0709|0713|0714|0715|0716|0717|0718|0719|0720|0724|0725|0726|0727|0728|0729|0730|0731|0735|0736|0737|0738|0739|0740|0741|0742|0746|0747|0748|0749|0750|0751|0752|0753|0757|0758|0759|0790|0791|0792|0793|0794|0795|0796|0797|0802|0803|0804|0805|0806|0807|0808|0809|0813|0814|0815|0816|0817|0818|0819|0820|0824|0825|0826|0827|0828|0829|0830|0831|0835|0836|0837|0838|0839|0840|0841|0842|0846|0847|0848|0849|0850|0851|0852|0853|0857|0858|0859|0860|0861|0862|0863|0864|0868|0869|0902|0903|0904|0905|0906|0907|0908|0909|0913|0914|0915|0916|0917|0918|0919|0920|0924|0925|0926|0927|0928|0929|0930|0931|0935|0936|0937|0938|0939|0940|0941|0942|0946|0947|0948|0949|0950|0951|0952|0953|0957|0958|0959|0960|0961|0962|0963|0964|0968|0969|0970|0971|0972|0973|0974|0975|0979|1302|1303|1304|1305|1306|1307|1308|1309|1313|1314|1315|1316|1317|1318|1319|1350|1351|1352|1353|1357|1358|1359|1360|1361|1362|1363|1364|1368|1369|1370|1371|1372|1373|1374|1375|1379|1380|1381|1382|1383|1384|1385|1386|1390|1391|1392|1393|1394|1395|1396|1397|1402|1403|1404|1405|1406|1407|1408|1409|1413|1414|1415|1416|1417|1418|1419|1420|1424|1425|1426|1427|1428|1429|1460|1461|1462|1463|1464|1468|1469|1470|1471|1472|1473|1474|1475|1479|1480|1481|1482|1483|1484|1485|1486|1490|1491|1492|1493|1494|1495|1496|1497|1502|1503|1504|1505|1506|1507|1508|1509|1513|1514|1515|1516|1517|1518|1519|1520|1524|1525|1526|1527|1528|1529|1530|1531|1535|1536|1537|1538|1539|1570|1571|1572|1573|1574|1575|1579|1580|1581|1582|1583|1584|1585|1586|1590|1591|1592|1593|1594|1595|1596|1597|1602|1603|1604|1605|1606|1607|1608|1609|1613|1614|1615|1616|1617|1618|1619|1620|1624|1625|1626|1627|1628|1629|1630|1631|1635|1636|1637|1638|1639|1640|1641|1642|1646|1647|1648|1649|1680|1681|1682|1683|1684|1685|1686|1690|1691|1692|1693|1694|1695|1696|1697|1702|1703|1704|1705|1706|1707|1708|1709|1713|1714|1715|1716|1717|1718|1719|1720|1724|1725|1726|1727|1728|1729|1730|1731|1735|1736|1737|1738|1739|1740|1741|1742|1746|1747|1748|1749|1750|1751|1752|1753|1757|1758|1759|1790|1791|1792|1793|1794|1795|1796|1797|1802|1803|1804|1805|1806|1807|1808|1809|1813|1814|1815|1816|1817|1818|1819|1820|1824|1825|1826|1827|1828|1829|1830|1831|1835|1836|1837|1838|1839|1840|1841|1842|1846|1847|1848|1849|1850|1851|1852|1853|1857|1858|1859|1860|1861|1862|1863|1864|1868|1869|1902|1903|1904|1905|1906|1907|1908|1909|1913|1914|1915|1916|1917|1918|1919|1920|1924|1925|1926|1927|1928|1929|1930|1931|1935|1936|1937|1938|1939|1940|1941|1942|1946|1947|1948|1949|1950|1951|1952|1953|1957|1958|1959|1960|1961|1962|1963|1964|1968|1969|1970|1971|1972|1973|1974|1975|1979|2020|2024|2025|2026|2027|2028|2029|2030|2031|2035|2036|2037|2038|2039|2040|2041|2042|2046|2047|2048|2049|2050|2051|2052|2053|2057|2058|2059|2060|2061|2062|2063|2064|2068|2069|2070|2071|2072|2073|2074|2075|2079|2080|2081|2082|2083|2084|2085|2086|2090|2091|2092|2093|2094|2095|2096|2097|2402|2403|2404|2405|2406|2407|2408|2409|2413|2414|2415|2416|2417|2418|2419|2420|2424|2425|2426|2427|2428|2429|2460|2461|2462|2463|2464|2468|2469|2470|2471|2472|2473|2474|2475|2479|2480|2481|2482|2483|2484|2485|2486|2490|2491|2492|2493|2494|2495|2496|2497|2502|2503|2504|2505|2506|2507|2508|2509|2513|2514|2515|2516|2517|2518|2519|2520|2524|2525|2526|2527|2528|2529|2530|2531|2535|2536|2537|2538|2539|2570|2571|2572|2573|2574|2575|2579|2580|2581|2582|2583|2584|2585|2586|2590|2591|2592|2593|2594|2595|2596|2597|2602|2603|2604|2605|2606|2607|2608|2609|2613|2614|2615|2616|2617|2618|2619|2620|2624|2625|2626|2627|2628|2629|2630|2631|2635|2636|2637|2638|2639|2640|2641|2642|2646|2647|2648|2649|2680|2681|2682|2683|2684|2685|2686|2690|2691|2692|2693|2694|2695|2696|2697|2702|2703|2704|2705|2706|2707|2708|2709|2713|2714|2715|2716|2717|2718|2719|2720|2724|2725|2726|2727|2728|2729|2730|2731|2735|2736|2737|2738|2739|2740|2741|2742|2746|2747|2748|2749|2750|2751|2752|2753|2757|2758|2759|2790|2791|2792|2793|2794|2795|2796|2797|2802|2803|2804|2805|2806|2807|2808|2809|2813|2814|2815|2816|2817|2818|2819|2820|2824|2825|2826|2827|2828|2829|2830|2831|2835|2836|2837|2838|2839|2840|2841|2842|2846|2847|2848|2849|2850|2851|2852|2853|2857|2858|2859|2860|2861|2862|2863|2864|2868|2869|2902|2903|2904|2905|2906|2907|2908|2909|2913|2914|2915|2916|2917|2918|2919|2920|2924|2925|2926|2927|2928|2929|2930|2931|2935|2936|2937|2938|2939|2940|2941|2942|2946|2947|2948|2949|2950|2951|2952|2953|2957|2958|2959|2960|2961|2962|2963|2964|2968|2969|2970|2971|2972|2973|2974|2975|2979|3020|3024|3025|3026|3027|3028|3029|3030|3031|3035|3036|3037|3038|3039|3040|3041|3042|3046|3047|3048|3049|3050|3051|3052|3053|3057|3058|3059|3060|3061|3062|3063|3064|3068|3069|3070|3071|3072|3073|3074|3075|3079|3080|3081|3082|3083|3084|3085|3086|3090|3091|3092|3093|3094|3095|3096|3097|3130|3131|3135|3136|3137|3138|3139|3140|3141|3142|3146|3147|3148|3149|3150|3151|3152|3153|3157|3158|3159|3160|3161|3162|3163|3164|3168|3169|3170|3171|3172|3173|3174|3175|3179|3180|3181|3182|3183|3184|3185|3186|3190|3191|3192|3193|3194|3195|3196|3197|3502|3503|3504|3505|3506|3507|3508|3509|3513|3514|3515|3516|3517|3518|3519|3520|3524|3525|3526|3527|3528|3529|3530|3531|3535|3536|3537|3538|3539|3570|3571|3572|3573|3574|3575|3579|3580|3581|3582|3583|3584|3585|3586|3590|3591|3592|3593|3594|3595|3596|3597|3602|3603|3604|3605|3606|3607|3608|3609|3613|3614|3615|3616|3617|3618|3619|3620|3624|3625|3626|3627|3628|3629|3630|3631|3635|3636|3637|3638|3639|3640|3641|3642|3646|3647|3648|3649|3680|3681|3682|3683|3684|3685|3686|3690|3691|3692|3693|3694|3695|3696|3697|3702|3703|3704|3705|3706|3707|3708|3709|3713|3714|3715|3716|3717|3718|3719|3720|3724|3725|3726|3727|3728|3729|3730|3731|3735|3736|3737|3738|3739|3740|3741|3742|3746|3747|3748|3749|3750|3751|3752|3753|3757|3758|3759|3790|3791|3792|3793|3794|3795|3796|3797|3802|3803|3804|3805|3806|3807|3808|3809|3813|3814|3815|3816|3817|3818|3819|3820|3824|3825|3826|3827|3828|3829|3830|3831|3835|3836|3837|3838|3839|3840|3841|3842|3846|3847|3848|3849|3850|3851|3852|3853|3857|3858|3859|3860|3861|3862|3863|3864|3868|3869|3902|3903|3904|3905|3906|3907|3908|3909|3913|3914|3915|3916|3917|3918|3919|3920|3924|3925|3926|3927|3928|3929|3930|3931|3935|3936|3937|3938|3939|3940|3941|3942|3946|3947|3948|3949|3950|3951|3952|3953|3957|3958|3959|3960|3961|3962|3963|3964|3968|3969|3970|3971|3972|3973|3974|3975|3979|4020|4024|4025|4026|4027|4028|4029|4030|4031|4035|4036|4037|4038|4039|4040|4041|4042|4046|4047|4048|4049|4050|4051|4052|4053|4057|4058|4059|4060|4061|4062|4063|4064|4068|4069|4070|4071|4072|4073|4074|4075|4079|4080|4081|4082|4083|4084|4085|4086|4090|4091|4092|4093|4094|4095|4096|4097|4130|4131|4135|4136|4137|4138|4139|4140|4141|4142|4146|4147|4148|4149|4150|4151|4152|4153|4157|4158|4159|4160|4161|4162|4163|4164|4168|4169|4170|4171|4172|4173|4174|4175|4179|4180|4181|4182|4183|4184|4185|4186|4190|4191|4192|4193|4194|4195|4196|4197|4202|4203|4204|4205|4206|4207|4208|4209|4240|4241|4242|4246|4247|4248|4249|4250|4251|4252|4253|4257|4258|4259|4260|4261|4262|4263|4264|4268|4269|4270|4271|4272|4273|4274|4275|4279|4280|4281|4282|4283|4284|4285|4286|4290|4291|4292|4293|4294|4295|4296|4297|4602|4603|4604|4605|4606|4607|4608|4609|4613|4614|4615|4616|4617|4618|4619|4620|4624|4625|4626|4627|4628|4629|4630|4631|4635|4636|4637|4638|4639|4640|4641|4642|4646|4647|4648|4649|4680|4681|4682|4683|4684|4685|4686|4690|4691|4692|4693|4694|4695|4696|4697|4702|4703|4704|4705|4706|4707|4708|4709|4713|4714|4715|4716|4717|4718|4719|4720|4724|4725|4726|4727|4728|4729|4730|4731|4735|4736|4737|4738|4739|4740|4741|4742|4746|4747|4748|4749|4750|4751|4752|4753|4757|4758|4759|4790|4791|4792|4793|4794|4795|4796|4797|4802|4803|4804|4805|4806|4807|4808|4809|4813|4814|4815|4816|4817|4818|4819|4820|4824|4825|4826|4827|4828|4829|4830|4831|4835|4836|4837|4838|4839|4840|4841|4842|4846|4847|4848|4849|4850|4851|4852|4853|4857|4858|4859|4860|4861|4862|4863|4864|4868|4869|4902|4903|4904|4905|4906|4907|4908|4909|4913|4914|4915|4916|4917|4918|4919|4920|4924|4925|4926|4927|4928|4929|4930|4931|4935|4936|4937|4938|4939|4940|4941|4942|4946|4947|4948|4949|4950|4951|4952|4953|4957|4958|4959|4960|4961|4962|4963|4964|4968|4969|4970|4971|4972|4973|4974|4975|4979|5020|5024|5025|5026|5027|5028|5029|5030|5031|5035|5036|5037|5038|5039|5040|5041|5042|5046|5047|5048|5049|5050|5051|5052|5053|5057|5058|5059|5060|5061|5062|5063|5064|5068|5069|5070|5071|5072|5073|5074|5075|5079|5080|5081|5082|5083|5084|5085|5086|5090|5091|5092|5093|5094|5095|5096|5097|5130|5131|5135|5136|5137|5138|5139|5140|5141|5142|5146|5147|5148|5149|5150|5151|5152|5153|5157|5158|5159|5160|5161|5162|5163|5164|5168|5169|5170|5171|5172|5173|5174|5175|5179|5180|5181|5182|5183|5184|5185|5186|5190|5191|5192|5193|5194|5195|5196|5197|5202|5203|5204|5205|5206|5207|5208|5209|5240|5241|5242|5246|5247|5248|5249|5250|5251|5252|5253|5257|5258|5259|5260|5261|5262|5263|5264|5268|5269|5270|5271|5272|5273|5274|5275|5279|5280|5281|5282|5283|5284|5285|5286|5290|5291|5292|5293|5294|5295|5296|5297|5302|5303|5304|5305|5306|5307|5308|5309|5313|5314|5315|5316|5317|5318|5319|5350|5351|5352|5353|5357|5358|5359|5360|5361|5362|5363|5364|5368|5369|5370|5371|5372|5373|5374|5375|5379|5380|5381|5382|5383|5384|5385|5386|5390|5391|5392|5393|5394|5395|5396|5397|5702|5703|5704|5705|5706|5707|5708|5709|5713|5714|5715|5716|5717|5718|5719|5720|5724|5725|5726|5727|5728|5729|5730|5731|5735|5736|5737|5738|5739|5740|5741|5742|5746|5747|5748|5749|5750|5751|5752|5753|5757|5758|5759|5790|5791|5792|5793|5794|5795|5796|5797|5802|5803|5804|5805|5806|5807|5808|5809|5813|5814|5815|5816|5817|5818|5819|5820|5824|5825|5826|5827|5828|5829|5830|5831|5835|5836|5837|5838|5839|5840|5841|5842|5846|5847|5848|5849|5850|5851|5852|5853|5857|5858|5859|5860|5861|5862|5863|5864|5868|5869|5902|5903|5904|5905|5906|5907|5908|5909|5913|5914|5915|5916|5917|5918|5919|5920|5924|5925|5926|5927|5928|5929|5930|5931|5935|5936|5937|5938|5939|5940|5941|5942|5946|5947|5948|5949|5950|5951|5952|5953|5957|5958|5959|5960|5961|5962|5963|5964|5968|5969|5970|5971|5972|5973|5974|5975|5979|6020|6024|6025|6026|6027|6028|6029|6030|6031|6035|6036|6037|6038|6039|6040|6041|6042|6046|6047|6048|6049|6050|6051|6052|6053|6057|6058|6059|6060|6061|6062|6063|6064|6068|6069|6070|6071|6072|6073|6074|6075|6079|6080|6081|6082|6083|6084|6085|6086|6090|6091|6092|6093|6094|6095|6096|6097|6130|6131|6135|6136|6137|6138|6139|6140|6141|6142|6146|6147|6148|6149|6150|6151|6152|6153|6157|6158|6159|6160|6161|6162|6163|6164|6168|6169|6170|6171|6172|6173|6174|6175|6179|6180|6181|6182|6183|6184|6185|6186|6190|6191|6192|6193|6194|6195|6196|6197|6202|6203|6204|6205|6206|6207|6208|6209|6240|6241|6242|6246|6247|6248|6249|6250|6251|6252|6253|6257|6258|6259|6260|6261|6262|6263|6264|6268|6269|6270|6271|6272|6273|6274|6275|6279|6280|6281|6282|6283|6284|6285|6286|6290|6291|6292|6293|6294|6295|6296|6297|6302|6303|6304|6305|6306|6307|6308|6309|6313|6314|6315|6316|6317|6318|6319|6350|6351|6352|6353|6357|6358|6359|6360|6361|6362|6363|6364|6368|6369|6370|6371|6372|6373|6374|6375|6379|6380|6381|6382|6383|6384|6385|6386|6390|6391|6392|6393|6394|6395|6396|6397|6402|6403|6404|6405|6406|6407|6408|6409|6413|6414|6415|6416|6417|6418|6419|6420|6424|6425|6426|6427|6428|6429|6460|6461|6462|6463|6464|6468|6469|6470|6471|6472|6473|6474|6475|6479|6480|6481|6482|6483|6484|6485|6486|6490|6491|6492|6493|6494|6495|6496|6497|6802|6803|6804|6805|6806|6807|6808|6809|6813|6814|6815|6816|6817|6818|6819|6820|6824|6825|6826|6827|6828|6829|6830|6831|6835|6836|6837|6838|6839|6840|6841|6842|6846|6847|6848|6849|6850|6851|6852|6853|6857|6858|6859|6860|6861|6862|6863|6864|6868|6869|6902|6903|6904|6905|6906|6907|6908|6909|6913|6914|6915|6916|6917|6918|6919|6920|6924|6925|6926|6927|6928|6929|6930|6931|6935|6936|6937|6938|6939|6940|6941|6942|6946|6947|6948|6949|6950|6951|6952|6953|6957|6958|6959|6960|6961|6962|6963|6964|6968|6969|6970|6971|6972|6973|6974|6975|6979|7020|7024|7025|7026|7027|7028|7029|7030|7031|7035|7036|7037|7038|7039|7040|7041|7042|7046|7047|7048|7049|7050|7051|7052|7053|7057|7058|7059|7060|7061|7062|7063|7064|7068|7069|7070|7071|7072|7073|7074|7075|7079|7080|7081|7082|7083|7084|7085|7086|7090|7091|7092|7093|7094|7095|7096|7097|7130|7131|7135|7136|7137|7138|7139|7140|7141|7142|7146|7147|7148|7149|7150|7151|7152|7153|7157|7158|7159|7160|7161|7162|7163|7164|7168|7169|7170|7171|7172|7173|7174|7175|7179|7180|7181|7182|7183|7184|7185|7186|7190|7191|7192|7193|7194|7195|7196|7197|7202|7203|7204|7205|7206|7207|7208|7209|7240|7241|7242|7246|7247|7248|7249|7250|7251|7252|7253|7257|7258|7259|7260|7261|7262|7263|7264|7268|7269|7270|7271|7272|7273|7274|7275|7279|7280|7281|7282|7283|7284|7285|7286|7290|7291|7292|7293|7294|7295|7296|7297|7302|7303|7304|7305|7306|7307|7308|7309|7313|7314|7315|7316|7317|7318|7319|7350|7351|7352|7353|7357|7358|7359|7360|7361|7362|7363|7364|7368|7369|7370|7371|7372|7373|7374|7375|7379|7380|7381|7382|7383|7384|7385|7386|7390|7391|7392|7393|7394|7395|7396|7397|7402|7403|7404|7405|7406|7407|7408|7409|7413|7414|7415|7416|7417|7418|7419|7420|7424|7425|7426|7427|7428|7429|7460|7461|7462|7463|7464|7468|7469|7470|7471|7472|7473|7474|7475|7479|7480|7481|7482|7483|7484|7485|7486|7490|7491|7492|7493|7494|7495|7496|7497|7502|7503|7504|7505|7506|7507|7508|7509|7513|7514|7515|7516|7517|7518|7519|7520|7524|7525|7526|7527|7528|7529|7530|7531|7535|7536|7537|7538|7539|7570|7571|7572|7573|7574|7575|7579|7580|7581|7582|7583|7584|7585|7586|7590|7591|7592|7593|7594|7595|7596|7597|7902|7903|7904|7905|7906|7907|7908|7909|7913|7914|7915|7916|7917|7918|7919|7920|7924|7925|7926|7927|7928|7929|7930|7931|7935|7936|7937|7938|7939|7940|7941|7942|7946|7947|7948|7949|7950|7951|7952|7953|7957|7958|7959|7960|7961|7962|7963|7964|7968|7969|7970|7971|7972|7973|7974|7975|7979|8020|8024|8025|8026|8027|8028|8029|8030|8031|8035|8036|8037|8038|8039|8040|8041|8042|8046|8047|8048|8049|8050|8051|8052|8053|8057|8058|8059|8060|8061|8062|8063|8064|8068|8069|8070|8071|8072|8073|8074|8075|8079|8080|8081|8082|8083|8084|8085|8086|8090|8091|8092|8093|8094|8095|8096|8097|8130|8131|8135|8136|8137|8138|8139|8140|8141|8142|8146|8147|8148|8149|8150|8151|8152|8153|8157|8158|8159|8160|8161|8162|8163|8164|8168|8169|8170|8171|8172|8173|8174|8175|8179|8180|8181|8182|8183|8184|8185|8186|8190|8191|8192|8193|8194|8195|8196|8197|8202|8203|8204|8205|8206|8207|8208|8209|8240|8241|8242|8246|8247|8248|8249|8250|8251|8252|8253|8257|8258|8259|8260|8261|8262|8263|8264|8268|8269|8270|8271|8272|8273|8274|8275|8279|8280|8281|8282|8283|8284|8285|8286|8290|8291|8292|8293|8294|8295|8296|8297|8302|8303|8304|8305|8306|8307|8308|8309|8313|8314|8315|8316|8317|8318|8319|8350|8351|8352|8353|8357|8358|8359|8360|8361|8362|8363|8364|8368|8369|8370|8371|8372|8373|8374|8375|8379|8380|8381|8382|8383|8384|8385|8386|8390|8391|8392|8393|8394|8395|8396|8397|8402|8403|8404|8405|8406|8407|8408|8409|8413|8414|8415|8416|8417|8418|8419|8420|8424|8425|8426|8427|8428|8429|8460|8461|8462|8463|8464|8468|8469|8470|8471|8472|8473|8474|8475|8479|8480|8481|8482|8483|8484|8485|8486|8490|8491|8492|8493|8494|8495|8496|8497|8502|8503|8504|8505|8506|8507|8508|8509|8513|8514|8515|8516|8517|8518|8519|8520|8524|8525|8526|8527|8528|8529|8530|8531|8535|8536|8537|8538|8539|8570|8571|8572|8573|8574|8575|8579|8580|8581|8582|8583|8584|8585|8586|8590|8591|8592|8593|8594|8595|8596|8597|8602|8603|8604|8605|8606|8607|8608|8609|8613|8614|8615|8616|8617|8618|8619|8620|8624|8625|8626|8627|8628|8629|8630|8631|8635|8636|8637|8638|8639|8640|8641|8642|8646|8647|8648|8649|8680|8681|8682|8683|8684|8685|8686|8690|8691|8692|8693|8694|8695|8696|8697|9020|9024|9025|9026|9027|9028|9029|9030|9031|9035|9036|9037|9038|9039|9040|9041|9042|9046|9047|9048|9049|9050|9051|9052|9053|9057|9058|9059|9060|9061|9062|9063|9064|9068|9069|9070|9071|9072|9073|9074|9075|9079|9080|9081|9082|9083|9084|9085|9086|9090|9091|9092|9093|9094|9095|9096|9097|9130|9131|9135|9136|9137|9138|9139|9140|9141|9142|9146|9147|9148|9149|9150|9151|9152|9153|9157|9158|9159|9160|9161|9162|9163|9164|9168|9169|9170|9171|9172|9173|9174|9175|9179|9180|9181|9182|9183|9184|9185|9186|9190|9191|9192|9193|9194|9195|9196|9197|9202|9203|9204|9205|9206|9207|9208|9209|9240|9241|9242|9246|9247|9248|9249|9250|9251|9252|9253|9257|9258|9259|9260|9261|9262|9263|9264|9268|9269|9270|9271|9272|9273|9274|9275|9279|9280|9281|9282|9283|9284|9285|9286|9290|9291|9292|9293|9294|9295|9296|9297|9302|9303|9304|9305|9306|9307|9308|9309|9313|9314|9315|9316|9317|9318|9319|9350|9351|9352|9353|9357|9358|9359|9360|9361|9362|9363|9364|9368|9369|9370|9371|9372|9373|9374|9375|9379|9380|9381|9382|9383|9384|9385|9386|9390|9391|9392|9393|9394|9395|9396|9397|9402|9403|9404|9405|9406|9407|9408|9409|9413|9414|9415|9416|9417|9418|9419|9420|9424|9425|9426|9427|9428|9429|9460|9461|9462|9463|9464|9468|9469|9470|9471|9472|9473|9474|9475|9479|9480|9481|9482|9483|9484|9485|9486|9490|9491|9492|9493|9494|9495|9496|9497|9502|9503|9504|9505|9506|9507|9508|9509|9513|9514|9515|9516|9517|9518|9519|9520|9524|9525|9526|9527|9528|9529|9530|9531|9535|9536|9537|9538|9539|9570|9571|9572|9573|9574|9575|9579|9580|9581|9582|9583|9584|9585|9586|9590|9591|9592|9593|9594|9595|9596|9597|9602|9603|9604|9605|9606|9607|9608|9609|9613|9614|9615|9616|9617|9618|9619|9620|9624|9625|9626|9627|9628|9629|9630|9631|9635|9636|9637|9638|9639|9640|9641|9642|9646|9647|9648|9649|9680|9681|9682|9683|9684|9685|9686|9690|9691|9692|9693|9694|9695|9696|9697|9702|9703|9704|9705|9706|9707|9708|9709|9713|9714|9715|9716|9717|9718|9719|9720|9724|9725|9726|9727|9728|9729|9730|9731|9735|9736|9737|9738|9739|9740|9741|9742|9746|9747|9748|9749|9750|9751|9752|9753|9757|9758|9759|9790|9791|9792|9793|9794|9795|9796|9797)$/ 

Я строю это с помощью кода из следующего фрагмента:

var allowedSequences = [],
    currentSequence = Array(4);
(function backtracking(i, prev) {
  if(i == 4) {
    allowedSequences.push(currentSequence.slice().join(''));
    return;
  }
  for(var n=0; n<10; ++n) {
    if(prev == void 0 || Math.abs(n-prev) > 1) {
      currentSequence[i] = n;
      backtracking(i+1, n);
    }
  }
})(0);
document.write('/^(?:' + allowedSequences.join('|') + ')$/');
1
Oriol 16 Дек 2015 в 20:23