internetexplorer8中的正则表达式问题

regular expression issue in internet explorer 8

本文关键字:问题 正则表达式 internetexplorer8      更新时间:2023-09-26

我正在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}$)/)