【问题标题】:How to check if a number that starts with a letter如何检查是否以字母开头的数字
【发布时间】:2016-01-05 06:37:17
【问题描述】:

下面的代码将 8 位数字的余数与字母除以 23 时匹配。

function dniLetter( dni ) {

var lockup = 'TRWAGMYFPDXBNJZSQVHLCKE'
var result = ''; 
var remainder = dni % 23;
result = lockup.charAt(remainder)

return result; }

如果数字以负数(如-2)或字母(A1234567)开头,我该如何改进?

【问题讨论】:

  • 在这些情况下你希望它做什么
  • 如果是负数或带有字母,你想做什么
  • 他试图用那个函数做什么重要吗?
  • function isLetter(str) { return str.length === 1 && str.match(/[a-z]/i); }

标签: javascript letter


【解决方案1】:

对于负数,您应该尝试将dni % 23 替换为((dni % 23) + 23) % 23。它会做你想做的事。

【讨论】:

    【解决方案2】:

    你应该使用正则表达式。

    /^[a-zA-Z-]/.test(yourString) 在指定条件下返回 true(例如,即使它以 '-A' 开头)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-01-01
      • 2018-02-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多