我有以下正则表达式,只允许字母:
/[a-zA-Z]+/ a = "abcDF" if (a.match(/[a-zA-Z]+/) == a){ //Match }else{ //No Match }
如何使用p {L}(通用 – 任何语言,如德语,英语等)
我试过的
a.match(/[p{l}]+/) a.match(/[\p{l}]+/) a.match(/p{l}/) a.match(/\p{l}/)
但是对于字母a =“aB”都返回null
解决方法
JavaScript本身不支持Unicode快捷方式.
所以你需要自己定义所有相关的Unicode范围.或者您可以使用Steven Levithan的XRegExp
package with Unicode add-ons,并使用其Unicode属性快捷方式:
var regex = new XRegExp("^\\p{L}*$") var a = "abcäöüéèê" if (regex.test(a)) { // Match } else { // No Match }