[英]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.