-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