jsp中的文本框,只允许使用文本编号和逗号。
这是单独的用户ID。
每个userid的长度必须为8个字符,我需要在文本框中输入多个用户ID。
例如:
正确的格式低于
asakthi1,psubhadr,tpradee4
它不应该像一样结尾(最后用逗号。)(格式不正确)
asakthi1,psubhadr,tpradee4,
我需要使用javascript。(请不要Jquery。)
我正在抓住这个......任何帮助都会受到赞赏。
答案 0 :(得分:1)
您可以将onchange
事件处理程序附加到<input type="text">
,它将使用正则表达式执行验证,例如:^(([A-Za-z0-9]{8}),)*[A-Za-z0-9]{8}$
。
如果用户名是8个字母或数字的组合,则此表达式将接受任意数量的用户名,后跟逗号,以及至少一个不带逗号的最终用户名。请注意{8}
元素强制匹配正好8个字符。
如果验证失败,则取决于您如何向用户显示验证。此示例将显示警报并清除输入。
<input type="text" onchange="if (!validate(this.value)) { alert('incorrect value'); this.value = ''; }">
<script>
function validate(value){
return value.match(new RegExp("^(([A-Za-z0-9]{8}),)*[A-Za-z0-9]{8}$")) != null;
}
</script>
以下是查看表达式的示例JSFiddle。