[英]RegEx test from JavaScript to Java
我正在尝试将以下算法从角度服务迁移到后端,从而从 JavaScript 迁移到 Java。
你能帮我在 Java 中获得与在 js 中相同的结果吗?
var UA = navigator.userAgent,
isIOS = /ip(hone|od|ad)/i.test(UA),
isSafari = /(mac os x).*version\/\d(.\d)+ (mobile\/\w{5,} )?safari/i.test(UA),
isSafari5 = /(mac os x).*version\/5[.\d]+ (mobile\/\w{5} )?safari/i.test(UA),
isAndroid = /android/i.test(UA),
isAndroidBrowser = isAndroid && !/chrome|firefox/i.test(UA),
isAndroidBrowserOld = isAndroidBrowser && parseFloat(/android ([\d\.]+)/i.exec(UA).pop()) < 4.3,
isAndroid2 = isAndroidBrowser && /android 2\.\d/i.test(UA),
isAndroidChrome = isAndroid && /chrome/i.test(UA),
isKindleFire = /KF[A-Z]{2,3}/.test(UA),
isFirefox = /firefox/i.test(UA),
isIE11 = /Trident/i.test(UA),
isIE = /msie \d/i.test(UA) || isIE11,
isMSTouch = (navigator.maxTouchPoints > 0) || (navigator.msMaxTouchPoints > 0),
isMSTouchPrefix = !!navigator.msMaxTouchPoints,
isPhone = ((/mobile/i.test(UA) && !/ipad|tablet/i.test(UA)) || matchMedia('only screen and (max-device-width : 767px)').matches) && !isKindleFire,
isTablet = (isAndroid && !isPhone) || (isIOS && !isPhone) || isKindleFire,
isMobile = isPhone || isTablet;
this.isPhone = isPhone;
this.isTablet = isTablet;
在此先感谢您的帮助
一般来说
例子
String UA = "iphone";
boolean isIOS =
Pattern.compile("ip(hone|od|ad)", Pattern.CASE_INSENSITIVE).matcher(UA).matches();
boolean isSafari5 =
Pattern.compile("(mac os x).*version\\/\\d(.\\d)+ (mobile\\/\\w{5,} )?safari", Pattern.CASE_INSENSITIVE).matcher(UA).matches();
System.out.println(isIOS);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.