Javascript - 输入验证 - 我可以检查字符 x 是否是数字,字符 y 是字母吗?



我有一个SAPUI5项目,并且有一个输入,我想对其进行一些验证。

它输入一个 8 个字符长度的条目,混合了数字和字母。我的输入最大长度已经为 8 个字符。

我需要创建一个函数,只允许在条目中的某些字符处输入数字或字母(见下文(。

1 - 字母 2 - 字母 3 - 编号 4 - 字母 5 - 编号 6 - 编号 7 - 编号 8 - 数字

例如,BP1A8123

有没有办法在JavaScript中做到这一点?我遇到过仅字母或仅数字的示例,但找不到条目中某些字符的数字/字母示例。

任何方向将不胜感激。

从 JavaScript 的角度来看,你可以像这样做检查:

pattern = RegExp('[A-Z]{2}[0-9]{1}[A-Z]{1}[0-9]{4}')
pattern.test('BP1A8123') // true
pattern.text('B1111111') // false

从 SAPUI5 的角度来看,输入验证通常通过数据绑定进行处理。例如,请参阅此 SAPUI5 演示套件示例。另请参阅类"sap.ui.core.Core"的validationErrorvalidationSuccess事件。

但是,对于您的特定要求,sap.m.MaskInput控件可能是您所追求的。请参阅此演示套件示例。

所以我们有模板:

template = ['letter', 'letter', 'number', 'letter',
'number', 'number', 'number', 'number']

。和一些输入:

input = 'BP1A8123'

然后,我们可以只使用isNaN()来检查相应的字符是否为字母:

input.split('').every((c,i) => isNaN(c)  || template[i] == 'number')

在这种情况下,这给出了true

您可以使用.split('')拆分字符串(请参阅此处(,将字符解析为int以使用isNaN检查变量是否为数字(请参阅此处(。

相关内容

  • 没有找到相关文章

最新更新