2017-10-08 17 views
0

驗證信息是:「輸入無效,它必須與至少一個數字或至少一個數字結束只有兩個字母。」結合兩個正則表達式與OR運算符的正確格式是什麼?

因此,它應該接受這種類型的字符串:

AS1
as1df1
asd21

as1sd
asd1d2sd

我能夠爲這兩個部分分別編寫正則表達式。

正則表達式對於第一部分是(它必須與至少一個數字結束):

/[0-9]+$/ 

正則表達式的第二部分(結束與至少一個數位僅具有兩個字母):

/[0-9][a-zA-Z][a-zA-Z]$/ 

對於這兩個部分,我使用了一個OR運算符。但是,不幸的是它不工作。

/[0-9]+|[0-9][a-zA-Z][a-zA-Z]$/ 

將兩個正則表達式與OR運算符結合的正確格式是什麼?

Demo Fiddle

+1

'/(regex1 | regex2)/' – mumpitz

+1

'/ \ d +(\ w {2})?$ /'... –

回答

1

在第一部分,你可以使用:

/\d+$/ 

對於第二個要求,這有些類似。

/d+\w{2}$/ 

如果您只想要一位數字和兩個字符,請刪除+。但是,假設你想要一個以上位數的第二部分,然後你可以用|元字符結合兩種獲得:

/\d+(\w{2})?$/ 

否則,你需要:

/(\d+|\d\w{2})$/ 

這裏,\d是一個數字,而\w與ascii和unicode字母以及下劃線相匹配。

+0

謝謝。你的正則表達式也很好。 – user1896653

+0

@ user1896653我提到兩個正則表達式要與'|'元字符結合。假設這是你的問題? –