-4
我想使用十六進制元字符進行正則表達式驗證。我決定這樣做的原因是因爲我只需要希臘語來工作。使用十六進制元字符進行RegExp名稱驗證
from http://www.unicode.org/Public/UNIDATA/Blocks.txt我看到我需要使用從1F00到1FFF的字符。但是我找不到錯在哪裏。
這裏是我到目前爲止已經完成:
document.querySelector("#register input[name='first_name']").onblur =
function(){
/*RegEx about name*/
var str = /[\u1F00-\u1FFF]/g;
var name = document.querySelector("#registerinput[name='first_name']").value;
if (name == null || name == ""){
alert("First name must be filled out!");
}
else if(!name.match(str)){
alert("Name must contain (greek)letters only!");
}
};
什麼不起作用?預期的行爲是什麼? – nhahtdh
這可能與您的確切問題無關,但您的正則表達式將匹配任何單個希臘字符。它需要是'/^[\ u1F00- \ u1FFF] * $ /', –
英文字母數字和特殊字符不被接受。問題是希臘字符也不被接受。 順便說一句,反投票是必要的??????????????????? – Anamed