gpt4 book ai didi

javascript - 在javascript中验证英国驾驶执照正则表达式

转载 作者:行者123 更新时间:2023-11-29 16:41:20 24 4
gpt4 key购买 nike

是否可以按照以下规则验证英国驾驶执照?

  • Digit 1–5: Letters A-Z or 9's
  • Digit 6-11: Numbers 0-9
  • Digit 12–13: Letters A-Z or 9's
  • Digit 14: Number 0-9
  • Digit 15–16: Two letters A-Z

到目前为止,我有以下内容,但它不起作用:

var regex = /^[A-Z0-9]{5}\d[0156]\d([0][1-9]|[12]\d|3[01])\d[A-Z0-9]{3}[A-Z]{2}$/

以下应该通过:

  [
'FARME100165AB5EW',
'MAR99740614BC2TL',
'MARTI740614A92TL',
'MARTI740614992TL',
'99999740614992TL'
].forEach(drivingLicenceNumber => regex.test(drivingLicenceNumber)

只有数组的第一个元素通过。

下面应该会失败

  [
'1FARM382940AZ9AZ',
'F2ARM382940AZ9AZ',
'FA3RM382940AZ9AZ',
'FAR4M382940AZ9AZ',
'FARM5382940AZ9AZ'
].forEach(drivingLicenceNumber => !regx.text(drivingLicenceNumber)

最佳答案

这应该有效:

^[A-Z9]{5}\d{6}[A-Z9]{2}\d[A-Z]{2}$

解释:

  • [A-Z9]{5} 数字 1-5:字母 A-Z 或 9
  • \d{6} 数字 6-11:数字 0-9
  • [A-Z9]{2} 数字 12–13:字母 A-Z 或 9
  • \d 第 14 位:数字 0-9
  • [A-Z]{2} 数字 15–16:两个字母 A-Z

var regex = /^^[A-Z9]{5}\d{6}[A-Z9]{2}\d[A-Z]{2}$$/

console.log('all pass');
[
'FARME100165AB5EW',
'MAR99740614BC2TL',
'MARTI740614A92TL',
'MARTI740614992TL',
'99999740614992TL'
].forEach(drivingLicenceNumber => {
console.log(drivingLicenceNumber, regex.test(drivingLicenceNumber));
});
console.log('all fail');
[
'1FARM382940AZ9AZ',
'F2ARM382940AZ9AZ',
'FA3RM382940AZ9AZ',
'FAR4M382940AZ9AZ',
'FARM5382940AZ9AZ'
].forEach(drivingLicenceNumber => {
console.log(drivingLicenceNumber, regex.test(drivingLicenceNumber));
});

关于javascript - 在javascript中验证英国驾驶执照正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45493570/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com