正则表达式Java与正则表达式Javascript
我有一个web应用程序和一个Android应用程序,我想在其中检查输入
现在我用Java创建了这个正则表达式:
private static final String NAME_REGEX = "^[\\w ]+$";
if (!Pattern.matches(NAME_REGEX, name)) {
mNameView.setError(getString(R.string.error_field_noname));
focusView = mNameView;
cancel = true;
}
在JavaScript中,我想测试同样的代码,所以我使用了:
var re = /^[\w ]+$/;
if (!re.test(company)) {
...
}
除了Java版本接受字符ä、ö、ü、ó、á(…)之外,一切都正常而JavaScript版本不会
不知道上面提到的代码之间的区别在哪里
最后,最重要的是两者(JavaScript和Java)的工作原理完全相同
目标:
获取与Java (^[\\w ]+$)
中完全相同的Javascript正则表达式
# 1 楼答案
请使用下面的正则表达式
上面的正则表达式也允许使用这些字符
如果你想使用特殊字符和字母,请使用下面的一个
# 2 楼答案
因此,最先进的技术是,必须使用库才能在javascript中获得与java相同的结果
由于这对我来说不是一个真正的解决方案,我只是在JavaScript中使用它:
这是一个Java版本:
所以这两种环境中的情况似乎完全相同
谢谢你的帮助