簡體   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