2017-06-30 67 views

回答

4

您可以使用

/^[a-z]\d.*/i 

請參閱regex demo。如果字符串可能有換行符,請將.*替換爲[\s\S]*

詳細

  • ^ - 串
  • 開始
  • [a-z] - ASCII字母
  • \d - 一個數字
  • .* - 比換行符字符以外的任何字符0+([\s\S]會匹配任何字符)。

注意:在年底.*(或[\s\S]*)只是一個好主意,如果你需要使用的匹配值。如果不是,當與​​一起使用時,可以省略該模式的那部分。

+0

無法'[A-ZA-Z]'只是'[A-Z]'因爲你使用'i'標誌? –

+0

@JeremyThille:先沒有'/ i'進行測試。 –

+0

@WiktorStribiżew謝謝你,讓我朝着正確的方向前進。我調整了一點點,在這裏沒有提到的背景下工作,除了我需要輸入多個數字才能工作...'/^[a-zA-Z] \ d \ S \。*/i'需要'm10'而不是'm1'想法? – SeaBass

2

您只能測試前兩個字符。

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))));

相關問題