我正在尝试匹配unicode正则表达式但不知道\ p {L}不会工作。
<script>
var input="teëst";
var re = /^[a-zA-Z-. \pL]{2,32}$/;
var is_valid=input.match(re);
if(is_valid){
document.write('Regularexpression valid');
} else {
document.write('Regularexpression invalid');
}
</script>
Plnkr.co:
https://plnkr.co/edit/3PCMxqCnwsyrueYQbB8q?p=preview
我做错了什么?
更新
https://stackoverflow.com/a/280762/989121
解决方法:
var re = /^[a-zA-Z- \u00c0-\u017e]{2,32}$/;
答案 0 :(得分:0)
我的谷歌搜索javascript在线正则表达式检查带我到regex101.com,这验证了我的正则表达式,所以在创建这个问题期间我认为我在代码中的其他地方做错了。尚不支持指出unicode。
https://stackoverflow.com/a/280762/989121
解决方法:
var re = /^[a-zA-Z- \u00c0-\u017e]{2,32}$/;
答案 1 :(得分:-1)
答案 2 :(得分:-1)
尝试使用此正则表达式:
var re = /[^\x00-\x7F]+/;