我有一个SAPUI5项目,并且有一个我想对其进行验证的输入。
它正在输入8个字符的长度的数字和字母的混合输入。输入的最大长度已经是8个字符。
我需要创建一个仅允许在条目中某些字符处输入数字或字母的函数(见下文)。
1-字母 2-字母 3-数字 4-字母 5-数字 6-数字 7-数字 8-数字
例如BP1A8123
有没有办法用JavaScript做到这一点?我碰到过仅字母或数字示例,但在条目中某些字符处找不到数字/字母示例。
任何方向将不胜感激。
答案 0 :(得分:2)
从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 Demokit Sample。另请参见类`sap.ui.core.Core'的validationError
和validationSuccess
事件。
但是,对于您的特定要求,sap.m.MaskInput
控件可能是您所追求的。参见此Demokit example。
答案 1 :(得分:0)
所以我们有了模板:
template = ['letter', 'letter', 'number', 'letter',
'number', 'number', 'number', 'number']
...和一些输入内容:
input = 'BP1A8123'
然后我们可以使用isNaN()
来检查各个字符是否为字母:
input.split('').every((c,i) => isNaN(c) || template[i] == 'number')
在这种情况下给出true
。
答案 2 :(得分:-1)