function isAndroid(){ var device = {}; var ua = navigator.userAgent; var android = ua.match(/(Android);?[\s\/]+([\d.]+)?/); device.android = false; if (android) { device.android = true; } return device;}同理可用以下正则替换判断其他类型: var ipad = ua.match(/(iPad).*OS\s([\d_]+)/); var ipod = ua.match(/(iPod)(.*OS\s([\d_]+))?/); var iphone = !ipad && ua.match(/(i...
原子是正则表达式的最基本的组成单位,而且在每个模式中最少包含一个原子。原子是由所有那些未显示指定为元字符的打印和非打印字符组成,所以在这里将其详细划分为五类进行介绍。 ①普通字符作为原子 普通字符是编写正则表达式时最常见的原子了,包括所有的大写和小写字母字符、所有数字等。例如,a——z、A——Z、0——9。 ’/5/’ –用于匹配字符串中是否有5这个字符出现 ’/php/’ –用于匹配字符串中是...
var MobileUA = (function() {var ua = navigator.userAgent.toLowerCase();var mua = {IOS: /ipod|iphone|ipad/.test(ua), //iOSIPHONE: /iphone/.test(ua), //iPhoneIPAD: /ipad/.test(ua), //iPadANDROID: /android/.test(ua), //Android DeviceWINDOWS: /windows/.test(ua), //Windows DeviceTOUCH_DEVICE: (‘ontouchstart‘ in window) || /touch/.test(ua), //Touch DeviceMOBILE: /mobile/.test(ua), //Mobile Device (iPa...
基础数据类型与正则数字与布尔值数字类型与布尔类型与其他语言是一样一样的部分属性int figureA = -93;// figureA是否为负数print(figureA.isNegative);// figureA是否是有限的print(figureA.isFinite);// figureA是否正无穷大或负无穷大print(figureA.isInfinite);double figureB = 64.742;// 返回figureB的符号,-1.0:值小于0、+1.0:值大于0、-0.0/0.0/NaN:值是其本身print(figureB.sign);// 返回figureB运行时的类型print(figur...
前言最近工作中遇到一个需求,需要在正则匹配页面中,所有可能存在的 form 表单的元素,可能有 input,action,select,textarea等等所有可能的元素,本文给出一个代码示例。感兴趣的朋友们可以参考学习。实例代码如下假设页面 1.html 的网页源代码是:<!DOCTYPE html>
<html><head><meta charset="utf-8" /><title>一个含有 form 表单的登录注册页面</title><style type="text/css">*{padding:0;margin:0;font-size:12px;}.tbl{marg...
var reg = /^\s*$/g; if (name = '' || reg.test(name) || reg.test(tag)){ top.swal('出错了','修改内容不能为空','','error'); return false; } 百度搜的还是出错! 回复讨论(解决方案) /\s*/ 这样子 不行啊 我随便输入一个 然后打了好多空格 还是不行 /\s*/ 这样子 不行 /^\S*$/ /^\S*$/ 效果很好 你这个还能加一个空格都不能打的吗?
网上找了个匹配网址的正则表达式(^http:\/\/[_a-zA-Z0-9-]+(.[_a-zA-Z0-9-]+)*$),但是有很多网址不能匹配到
比如:
网址:http://www.sz.gov.cn/cn/hdjl/zxts/dfyj/
执行结果:boolean false(意思就是这不是个网址)
求一个能匹配任意网址的正则表达式(执行效率越快越好)。
谢谢
找了一个可用的:((http|ftp|https):\/\/)?[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])?
执行效率不知道有没有更快的回复...
前言
最近工作中遇到一个需求,需要在正则匹配页面中,所有可能存在的 form 表单的元素,可能有 input,action,select,textarea等等所有可能的元素,本文给出一个代码示例。感兴趣的朋友们可以参考学习。实例代码如下
假设页面 1.html 的网页源代码是:<!DOCTYPE html>
<html><head><meta charset="utf-8" /><title>一个含有 form 表单的登录注册页面</title><style type="text/css">*{padding:0;margin:0;font-size:12px;}.tbl{ma...
定义正则又叫规则或模式,是一个强大的字符串匹配工具。javascript通过RegExp类型来支持正则表达式特性[1]贪婪性,匹配最长的[2]懒惰性,不设置/g,则只匹配第1个写法perl写法(使用字面量形式)
var expression = /pattern/flags; 模式(pattern)部分可以是任何简单或复杂的正则表达式,可以包含字符串、限定类、分组、向前查找以及反向引用。每个正则表达式可以带一个或多个标志(flags),用以标明正则表达式的行为。正则表达式支持三...
前面的话
前面已经介绍过javascript中正则表达式的基础语法。javascript的RegExp类表示正则表达式,String和RegExp都定义了方法,使用正则表达式可以进行强大的模式匹配和文本检索与替换。本文将介绍正则表达式的RegExp对象,以及正则表达式涉及
到的属性和方法对象javascript中的正则表达式用RegExp对象表示,有两种写法:一种是字面量写法;另一种是构造函数写法
Perl写法
正则表达式字面量写法,又叫Perl写法,因为javascript的...
定义正则又叫规则或模式,是一个强大的字符串匹配工具。javascript通过RegExp类型来支持正则表达式特性[1]贪婪性,匹配最长的[2]懒惰性,不设置/g,则只匹配第1个写法perl写法(使用字面量形式)
var expression = /pattern/flags; 模式(pattern)部分可以是任何简单或复杂的正则表达式,可以包含字符串、限定类、分组、向前查找以及反向引用。每个正则表达式可以带一个或多个标志(flags),用以标明正则表达式的行为。正则表达式支持三...
代码如下:<asp:RegularExpressionValidator id="FileUpLoadValidator" runat="server" ErrorMessage="Upload Jpegs and Gifs only." ValidationExpression="^(([a-zA-Z]:)|(\\{2}\w+)\$?)(\\(\w[\w].*))(.jpg|.JPG|.gif|.GIF)$" ControlToValidate="FileUpload1"> </asp:RegularExpressionValidator>
在开发过程中,有时需要对用户输入的类型做判断,最常见是在注册页面即用户名和密码,代码整理如下:
只能为中文
-(BOOL)onlyInputChineseCharacters:(NSString*)string{NSString *zhString = @"[\u4e00-\u9fa5]+";NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",zhString];BOOL inputString = [predicate evaluateWithObject:string];return inputString;
}只能为数字
- (BOOL)onlyInputTheNumbe...
验证数字的正则表达式集验证数字:^[0-9]*$验证n位的数字:^\d{n}$验证至少n位数字:^\d{n,}$验证m-n位的数字:^\d{m,n}$验证零和非零开头的数字:^(0|[1-9][0-9]*)$验证有两位小数的正实数:^[0-9]+(.[0-9]{2})?$验证有1-3位小数的正实数:^[0-9]+(.[0-9]{1,3})?$验证非零的正整数:^\+?[1-9][0-9]*$验证非零的负整数:^\-[1-9][0-9]*$验证非负整数(正整数 + 0) ^\d+$验证非正整数(负整数 + 0) ^((-\d+)|(0+))$验证长度为3的字...
代码如下:var regexEnum = { intege:"^-?[1-9]//d*$", //整数 intege1:"^[1-9]//d*$", //正整数 intege2:"^-[1-9]//d*$", //负整数 num:"^([+-]?)//d*//.?//d+$", //数字 num1:"^([1-9]//d*|0)$", //正数(正整数 + 0) num2:"^-[1-9]//d*|0$", //负数(负整数 + 0) decmal:"^([+-]?)//d*//.//d+$", //浮点数 decmal1:"^[1-9]//d*.//d*|0.//d*[1-9]//d*$", //正浮点数 decmal2:"^-([1-9]//d*.//d*|0.//d*[1-9]//d*)$", //负...