IE8のコンソールで次のことをしようとしています
new RegExp(/(^(([+]?((([0-9\u0660-\u0669]+)([\,\.\-]?[\s]?))+))+){4,255}$)|(^[]{0,255}$)/).test('1234')
正規表現で次のエラーが発生"Expected ']'
します」が、Firefoxでこれを試すと、エラーなしでtrueが返されます。
正規表現のどこに問題があるのかわかりません。どんな助けでも大歓迎です。
IE8のコンソールで次のことをしようとしています
new RegExp(/(^(([+]?((([0-9\u0660-\u0669]+)([\,\.\-]?[\s]?))+))+){4,255}$)|(^[]{0,255}$)/).test('1234')
正規表現で次のエラーが発生"Expected ']'
します」が、Firefoxでこれを試すと、エラーなしでtrueが返されます。
正規表現のどこに問題があるのかわかりません。どんな助けでも大歓迎です。
空の文字列に一致させるために (^$) を使用しないのはなぜですか?
new RegExp(/(^(([+]?((([0-9\u0660-\u0669]+)([\,\.\-]?[\s]?))+))+){4,255}$)|(^$)/).test('')
//true
new RegExp(/(^(([+]?((([0-9\u0660-\u0669]+)([\,\.\-]?[\s]?))+))+){4,255}$)|(^$)/).test('1234')
//true
new RegExp(/(^(([+]?((([0-9\u0660-\u0669]+)([\,\.\-]?[\s]?))+))+){4,255}$)|(^$)/).test('abc')
//false
つまり、数字の部分とともに 0 ~ 255 のスペースを一致させる必要がない限りです。
new RegExp(/(^(([+]?((([0-9\u0660-\u0669]+)([\,\.\-]?[\s]?))+))+){4,255}$)|(^[ ]{0,255}$)/).test('1234')
間にスペースを入れてください[ ]
:(^[ ]{0,255}$)/)