【发布时间】:2015-12-03 09:59:27
【问题描述】:
我有一个 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 正则表达式
【问题讨论】:
-
如果您不想重新发明轮子,则必须使用XRegExp。或者为您接受的字母创建一个字符类。您需要接受所有 Unicode 基本字母吗?看看this answer of mine。只需将
_添加到re 变量中的字符类(并删除第一个#)。
标签: javascript java android regex