我需要替换一个代码示例:OD3 - 第一个必须始终是字母字符,第二个字母数字,最后一个必须始终是数字。什么是regular expression
检查和replace
第一个并调节其余的正确输入?用户可以输入数字 0 而不是字母 O,所以我想立即更正它...
这就是我到目前为止所拥有的:onkeyup="this.value=this.value.replace(/[^a-zA-z]/g,'')
我需要替换一个代码示例:OD3 - 第一个必须始终是字母字符,第二个字母数字,最后一个必须始终是数字。什么是regular expression
检查和replace
第一个并调节其余的正确输入?用户可以输入数字 0 而不是字母 O,所以我想立即更正它...
这就是我到目前为止所拥有的:onkeyup="this.value=this.value.replace(/[^a-zA-z]/g,'')
首先,我建议只向用户指示错误,而不是替换这些值。就像是
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);
}
最好有这样的。
onkeyup="testRegex(this.value)";
不是.replace()
它是.test()
function testRegex(value) {
if(value.test(/[^a-zA-z]/g)) {
alert("Please enter correct value");
return false;
}
}