Javascript替换 - 正则表达式

时间:2013-08-02 11:30:11

标签: javascript regex replace

我需要替换代码示例:OD3 - 第一个必须始终是字母字符,第二个字母数字,最后一个必须始终为数字。什么是regular expression检查和replace第一个并规定其余部分正确输入?用户可以输入数字0而不是字母O,所以我想立即纠正它......

这是我到目前为止所做的:onkeyup="this.value=this.value.replace(/[^a-zA-z]/g,'')

2 个答案:

答案 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;
    }
}