我怎樣才能使場景像這些低於回報true
模式:檢查字符串一個字母后面的數字來啓動,然後任意字符
m1
,m1a
,M100bc
,s45
,S396xyz
和假像這些情況:
''
,m
,1
,1a
,mm
,Mx
,mm1
,SS1b
模式來調整:/^m\S\.*/i.test(text)
現在它的第一個字母后採取的任何數量的字母開始和非數字權
我怎樣才能使場景像這些低於回報true
模式:檢查字符串一個字母后面的數字來啓動,然後任意字符
m1
,m1a
,M100bc
,s45
,S396xyz
和假像這些情況:
''
,m
,1
,1a
,mm
,Mx
,mm1
,SS1b
模式來調整:/^m\S\.*/i.test(text)
現在它的第一個字母后採取的任何數量的字母開始和非數字權
您可以使用
/^[a-z]\d.*/i
請參閱regex demo。如果字符串可能有換行符,請將.*
替換爲[\s\S]*
。
詳細
^
- 串[a-z]
- ASCII字母\d
- 一個數字.*
- 比換行符字符以外的任何字符0+([\s\S]
會匹配任何字符)。注意:在年底.*
(或[\s\S]*
)只是一個好主意,如果你需要使用的匹配值。如果不是,當與一起使用時,可以省略該模式的那部分。
您只能測試前兩個字符。
var cases = ['m1', 'm1a', 'M100bc', 's45', 'S396xyz', '', 'm', '1', '1a', 'mm', 'Mx', 'mm1', 'SS1'];
console.log(cases.map(s => (/^[a-z]\d/i.test(s))));
無法'[A-ZA-Z]'只是'[A-Z]'因爲你使用'i'標誌? –
@JeremyThille:先沒有'/ i'進行測試。 –
@WiktorStribiżew謝謝你,讓我朝着正確的方向前進。我調整了一點點,在這裏沒有提到的背景下工作,除了我需要輸入多個數字才能工作...'/^[a-zA-Z] \ d \ S \。*/i'需要'm10'而不是'm1'想法? – SeaBass