Простой способ использования регулярности, чтобы определить, является ли ввод:
input1 = '0281234567'; input2 = '0282345678'; var reg = /^/d+$/g;reg.test(input1); //truereg.test(input2); //ЛОЖЬ
Я обнаружил, что значение, возвращаемое во время второго теста, было неверным. После исключения различных факторов интерференции, таких как написание ошибок, неспособность получить стоимость и т. Д., Я обнаружил, что регулярный REG не может быть выполнен правильно только во время второго выполнения второго выполнения Reg. Я не сталкивался с этой проблемой раньше, поэтому я искал соответствующую информацию.
Оказывается, эта проблема фактически вызвана /G, и я узнал, что на самом деле неправильно использовал /G для этого правила. Поскольку /g представляет глобальное соответствие, внутри судить правило существует стойиндекс, чтобы записать последнюю позицию матча. При повторных вызовах Lastindex будет продолжать совпадать, что приведет к ошибке суждения. Если вы понимаете принцип и решите его, это будет ясно:
1. Снимите /г, и не добавляйте /г отметки по желанию, если /g не требуется
2. Перед вторым матчем, вручную установите LastIndex на 0. Например, выше: reg.lastIndex () = 0.
Приведенное выше решение о том, что обычный тест () не может быть выполнен правильно из -за неправильного использования /g в JavaScript, введенном вам. Я надеюсь, что это будет полезно для вас. Если у вас есть какие -либо вопросы, пожалуйста, оставьте мне сообщение, и редактор ответит вам вовремя. Большое спасибо за вашу поддержку сайту wulin.com!