2015-02-06 3 views
-3

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

regexp: { 
regexp: 
>/(^01|^02|^071|^073|^074|^075|^076|^077|^078|^079)/, 
     /^((?!(|123456|234567|345678|456789|0{6,}|1{6,}|2{6,}|3{6,}|4{6,}|5{6,}|6{6,}|7{6,}|8{6,}|9{6,})).)*$/ 

message: 'The phone number is not valid' 
        } 

Моя проблема заключается в том, что только один из этих двух будет работать, а не оба. Любая идея, как я могу изменить это, чтобы они работали?

+1

«только один из этих двух будет работать, а не оба» - вы имеете в виду, что вы можете использовать только одно регулярное выражение или что один из них не делает то, что вы хотите (что? Почему?)? – user52889

+3

Священный ад, который сложный ... возможно, упростит это, чтобы ваша проблема исчезла –

+0

Да, только один будет работать внутри проверки @ user5288 – user2713650

ответ

1

Это регулярное выражение будет работать, но я все же предлагаю, возможно, найти другой способ или набор критериев для проверки. Но все зависит от вас.

/^(0(?:[12]|7[145789]))(?!|123456|234567|345678|456789|0{6,}|1{6,}|2{6,}|3{6,}|4{6,}5{6,}|6{6,}|7{6,}|8{6,}|9{6,})/ 

Это гарантирует, что число начинается с правильного префикса и не содержит указанных вами последовательностей.

+0

Большое спасибо. Lol Мне специально говорят, что это должно быть так, к сожалению, это не позволит мне проголосовать, но большое спасибо! – user2713650

0

Вы могли бы объединить эти два так:

/^(?=(01|02|071|073|074|075|076|077|078|079))((?!(|123456|234567|345678|456789|0{6,}|1{6,}|2{6,}|3{6,}|4{6,}|5{6,}|6{6,}|7{6,}|8{6,}|9{6,})).)*$/ 

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

+0

Спасибо за ваше решение – user2713650

Смежные вопросы