繁体   English   中英

Javascript替换-正则表达式

[英]Javascript Replace - Regular Expression

我需要替换一个代码示例:OD3-第一个必须始终为字母字符,第二个字母数字,最后一个必须始终为数字。 检查并replace第一个并管理其余输入以使其正确输入的regular expression是什么? 用户可以输入数字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;
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM