1
我已經有這個正則表達式:正則表達式,如果爲3或6位十六進制
function check(){
var re = /[0-9A-Fa-f]{6}/g;
var inputString = document.getElementById("check").value;
if(re.test(inputString)) {
window.alert("Valid hex colour")
} else {
window.alert("Invalid hex colour")
}
re.lastIndex = 0;
}
這是輸入:
<input id="check" maxlength="6" placeholder="------">
這是事件監聽器:
document.getElementById('check').onkeydown=function(cc){
if(cc.keyCode==13){
check()
}
else if(cc.keyCode==46){
document.getElementById("check").value = "";
}
}
這工作正常。我也試過這個正則表達式:
/[0-9A-Fa-f]{3}|[0-9A-Fa-f]{6}/g;
但是,這也接受長度爲3,4,5或6個字符的十六進制值。 如何使用正則表達式檢查恰好爲3或正好6個字符長的十六進制值?提前致謝。
你想匹配整個字符串嗎? '/ ^([0-9A-發F] {3} | [0-9A-發F] {6})$ /'? –