我正在尝试在 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')
在 at之间放置一个空格[ ]
:(^[ ]{0,255}$)/)