我這塊VBNet代碼,我想翻譯成JavaScript:錯誤從.NET正則表達式轉換爲JavaScript
Dim phone_check_pattern = "^(\+?|(\(\+?[0-9]{1,3}\))|)([ 0-9.//-]|\([ 0-9.//-]+\))+((x|X|((e|E)(x|X)(t|T)))([ 0-9.//-]|\([ 0-9.//-]+\)))?$"
System.Diagnostics.Debug.WriteLine(System.Text.RegularExpressions.Regex.IsMatch("test input", phone_check_pattern))
我的翻譯結果:
var phone_check_pattern = "^(\+?|(\(\+?[0-9]{1,3}\))|)([ 0-9.//-]|\([ 0-9.//-]+\))+((x|X|((e|E)(x|X)(t|T)))([ 0-9.//-]|\([ 0-9.//-]+\)))?$";
alert(new RegExp(phone_check_pattern).test("test input"))
然而,當我運行它它的主要錯誤Uncaught SyntaxError: Invalid regular expression:: Nothing to repeat
(我VbNet代碼沒有任何雖然錯誤)
有誰知道是什麼原因導致了這個問題?
@Prier你可以告訴我們regEx是應該做什麼。 – sra 2011-05-19 08:11:55
@sra:他正在承擔強大的工作(有些人甚至會說Quixotic)驗證在自由格式字段中輸入的電話號碼。不是因爲心臟不好,容易出現各種各樣的問題。 – 2011-05-19 08:13:19
@sra其在問題中陳述的內部代碼 – Pacerier 2011-05-19 08:55:07