2014-04-15 17 views
0

我試圖寫一個PHP的形式對一些reg表達式驗證,我有以下幾點:PHP正則表達式驗證,但是JavaScript並不是

/^([+]{1}[0-9]{1,2}[\s]?[0-9]{1,10}[\s][0-9]{1-6}?)|([+][0-9]{1,2}[\s]?[0-9]{1,4}[\s]?[0-9]{1,6})|([+]?[0-9]{2,3}?[\s]?[0-9]{1,3}[\s])?([0-9]{1,5})?[0-9]{3}[\s]?[0-9]{5,6}$/i 

但如下所示的JavaScript版本聲稱它即使我可以成功提交表明PHP版本將接受該表達式的表單,也不是有效的。

/^([+][0-9]{1,2}[\\s]?[0-9]{1,10}[\\s][0-9]{1-6}?)|([+][0-9]{1,2}[\\s]?[0-9]{1,4}[\\s]?[0-9]{1,6})|([+]?[0-9]{2,3}?[\\s]?[0-9]{1,3}[\\s])?([0-9]{1,5})?[0-9]{3}[\\s]?[0-9]{5,6}$/i 

在此先感謝您的幫助。

+2

你可以張貼的JavaScript代碼逃脫+正則表達式在哪裏使用? – stakolee

+2

您應該添加一些應該傳遞的字符串和應該失敗的字符串的示例。 –

+2

'[+]'工作嗎?我認爲+是一個保留關鍵字。它不會被屏蔽到「[\ +]」? – Fuzzyma

回答

1

因爲你試圖通過\\,這是逃避\不需要

而且你應該\+如果你試圖匹配字面+

+0

雖然這是真的(至少是你說的第一部分),但它遠非唯一的問題。 –