如何在Javascript中匹配正则表达式的确切位数

如何在Javascript中匹配正则表达式的确切位数

本文介绍了如何在Javascript中匹配正则表达式的确切位数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在Javascript中,我所做的是以下内容:

In Javascript, what I have done is the following:

var matched = searching.match(/ \d {7} / )

如果已搜索 1234567 XYZ1234567 。两者都返回 1234567 ,这很好。 123 XYZ123 返回null,这是预期的。

It works great if searched is 1234567 or XYZ1234567. Both return 1234567, which is good. 123 and XYZ123 return null, which is expected.

但是当搜索 12345678 XYZ12345678 时,一个条件失败。我希望两者都返回null,因为我寻找一个精确的7位数匹配。它们都返回 2345678

But one condition fails when searched is 12345678 or XYZ12345678. I would like both to return null because I look for an exact 7 digit match. They both return 2345678 instead.

/ \d {7} $ / 也不起作用。

有人可以提供建议吗?

谢谢

推荐答案

(?:\D | ^):以非数字

(?:\ D | $):以非数字结尾

var matched = searched.match(/(?:\D|^)(\d{7})(?:\D|$)/);
if (matched) {
  matched = matched[1];
}

这篇关于如何在Javascript中匹配正则表达式的确切位数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-14 20:27