我需要替换代码示例:OD3 - 第一个必须始终是字母字符,第二个字母数字,最后一个必须始终为数字。什么是regular expression
检查和replace
第一个并规定其余部分正确输入?用户可以输入数字0而不是字母O,所以我想立即纠正它......
这是我到目前为止所做的:onkeyup="this.value=this.value.replace(/[^a-zA-z]/g,'')
答案 0 :(得分:1)
首先,我建议只向用户指出错误,而不是替换值。像
这样的东西oninput="if (! /^[a-z][a-z0-9]\d$/i.test(this.value) ) displayMessage('incorrect code');"
如果你必须动态更换价值,你可以这样做:
oninput='validateValue()';
...
function validateValue() {
var val = this.value;
if (! /[a-z]/i.test(val[0]) this.value = '';
else if (! /[a-z0-9]/i.test(val[1]) this.value = val.slice(0,1);
else if (! /\d/.test(val[2]) this.value = val.slice(0,2);
}
答案 1 :(得分:0)
最好这样。
onkeyup="testRegex(this.value)";
它不是.replace()
.test()
function testRegex(value) {
if(value.test(/[^a-zA-z]/g)) {
alert("Please enter correct value");
return false;
}
}