/**
* 判断是否是正整数
* @param value 需要判断的值
* @return {boolean} 返回true是正整数,false则不是正整数
*/
function isInteger(value) {
// 判断是否是整数,最好不要使用isNaN方法,因为该方法会把数后面加一个小数点也判断为数字
var reg = /^([0-9]?||[1-9][0-9]*)$/;
return reg.test(value);
}
/**
* 判断是否超出count位小数
* @param value 需要判断的值
* @param count 小数位数,count最小值为1,如果传入的count小于1,则默认为1
* @return {boolean} 返回true未超出count位小数,返回false则是超出了count小数
*/
function isDecimal(value, count) {
var scope = count < 1 ? 1 : "1," + count;
var reg;
if (value.indexOf(".") > 0) {
// 当使用构造函数创造正则对象时,需要常规的字符转义规则(在前面加反斜杠 \)
// 当n = 2时,以下等价于:var reg=/^([1-9]\d+||[0-9])[.]\d{1,2}$/;
reg = new RegExp("^([1-9]\\d+||[0-9])[.]\\d{" + scope + "}$");
} else {
reg = new RegExp("^\\d+$");
}
return reg.test(value);
}
/**
* 判断是否是邮箱格式
* @param value 需要判断的值
* @return {boolean} 返回true是邮箱格式,返回false则不是
*/
function isEmail(value) {
var reg =/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
return reg.test(value);
}
/**
* 校验是否中文名称组成
* @param str 需要判断的字符串
* @return {boolean} 返回true表示str是由中文名称组成,返回false则不是
*/
function isChina(str) {
var reg=/^[\u4E00-\u9FA5]{2,4}$/;
return reg.test(str);
}
/**
* 检测浏览器是否支持svg
* @return {boolean} 返回true支持,返回false不支持
*/
function isSupportSVG (){
var SVG_NS = 'http://www.w3.org/2000/svg';
return !!document.createElementNS &&!!document.createElementNS(SVG_NS,'svg').createSVGRect;
}
/**
* 检测浏览器是否支持canvas
* @return {boolean} 返回true支持,返回false不支持
*/
function isSupportCanvas() {
return !!document.createElement('canvas').getContext;
}
/**
* 检测是否是微信浏览器
* @return {boolean} 返回true是,返回false不是
*/
function isWeiXinClient (){
var ua = navigator.userAgent.toLowerCase;
var res = !!ua.match(/MicroMessenger/i)=="micromessenger";
return res;
}
/**
* 检测是否移动端及浏览器内核
*/
var browser = {
versions: function (){
var u = navigator.userAgent;
return {
trident: u.indexOf('Trident') > -1, //IE内核
presto: u.indexOf('Presto') > -1, //opera内核
webKit: u.indexOf('AppleWebKit') > -1, //苹果、谷歌内核
gecko: u.indexOf('Firefox') > -1, //火狐内核
Geckomobile: !!u.match(/AppleWebKit.*Mobile.*/), //是否移动终端
ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios
android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1, //android
iPhone: u.indexOf('iPhone') > -1 , //iPhone
iPad: u.indexOf('iPad') > -1, //iPad
webApp: u.indexOf('Safari') > -1 //Safari
};
}
}
/**
* 检测是否电脑端/移动端
*
*/
var browser={
versions:function (){
var u = navigator.userAgent, app = navigator.appVersion;
var sUserAgent = navigator.userAgent;
return {
trident: u.indexOf('Trident') > -1,
presto: u.indexOf('Presto') > -1,
isChrome: u.indexOf("chrome") > -1,
isSafari: !u.indexOf("chrome") > -1 && (/webkit|khtml/).test(u),
isSafari3: !u.indexOf("chrome") > -1 && (/webkit|khtml/).test(u) &&u.indexOf('webkit/5') != -1,
webKit: u.indexOf('AppleWebKit') > -1,gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1,
mobile: !!u.match(/AppleWebKit.*Mobile.*/),
ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/),
android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1,
iPhone: u.indexOf('iPhone') > -1,iPad: u.indexOf('iPad') > -1,
iWinPhone: u.indexOf('Windows Phone') > -1
};
}
}
/**
* 检测浏览器内核
*/
function getInternet(){
if(navigator.userAgent.indexOf("MSIE")>0) {
return "MSIE"; //IE浏览器
}
if(isFirefox=navigator.userAgent.indexOf("Firefox")>0){
return "Firefox"; //Firefox浏览器
}
if(isSafari=navigator.userAgent.indexOf("Safari")>0) {
return "Safari"; //Safan浏览器
}
if(isCamino=navigator.userAgent.indexOf("Camino")>0){
return "Camino"; //Camino浏览器
}
if(isMozilla=navigator.userAgent.indexOf("Gecko/")>0){
return "Gecko"; //Gecko浏览器
}
}
javascript验证方法
最新推荐文章于 2022-05-28 09:18:06 发布
本文介绍了多个JavaScript函数,用于验证数值类型(正整数、小数)、邮箱格式、中文名称以及浏览器特性(SVG、Canvas支持、微信环境)。同时,提供了浏览器内核和平台的检测方法,包括 Trident、WebKit、Gecko、iOS、Android 等。
摘要由CSDN通过智能技术生成