[label][翻译][JavaScript Regular Expression]JavaScript Regular Expressions
原文:http://www.javascriptkit.com/javatutors/re.shtml
校验用户的输入是每一个软件开发者的必须要做的事情。
正则表达式与模式
如何在JavaScript中使用正则表达式呢?这里有两种方式:
1)字面量语法。
2)当你需要动态构建正则表达式时,可以通过RegExp()构造函数。
字面量语法如下:
var RegularExpression = /pattern/;
RegExp()构造函数方法如下:
var RegularExpression = new RegExp("pattern");
RegExp()方法允许你通过一个字符串来动态构造一个搜索模式,这是一个非常有用的方法,特别是在实现无法知道模式是什么的情况下。
[原句:The RegExp() method allows you to dynamically construct the search pattern as a string, and is useful when the pattern is not known ahead of time.]
使用正则表达式来校验一个字符串,那么你必须要定义一个模式字符串来作为搜索的条件,然后使用一个相关字符串方法来表示动作(ie: search, replace etc)。
模式是通过使用字符串原义字符(string literal characters)和元字符(metacharacters)来定义。
举个例子,下面的正则表达式是判断一个包含有效的5位美国邮政编码字符串。
<script type="text/javasript"> function checkpostal(){ var re5digit = /^\d{5}$/; //regular expression defining a 5 digit number
//注意原文该处的实例代码有错误,原文是赋值,正确的如下
if(document.myform.myinput.value.search(re5digit) === -1){ // if match failed alert("Please enter a valid 5 digit number inside form."); } } </script> <form name="myform"> <input type="text" name="myinput" size="15" /> <input type="button" onClick="checkpostal()" value="check" /> </form>
解析一下上面所使用的正则表达式,它是用来检查一个包含5位有效数字的字符串,并且只能是一个5位数字。
var reg5digit = /^\d{5}$/;
- ^表示字符串的开头,使用^元字符要求匹配是从开头开始匹配的
- \d表示一个数字字符,跟在后面的{5}意思是必须5位连续的数字字符
- $表示的是字符串的结尾,使用$元字符要求匹配在这个字符串后结束
Translated to English, this pattern states: "Starting at the beginning of the string there must be nothing other than 5 digits. There must also be nothing following those 5 digits."
用英文来翻译,这个模式声明:“该字符串的开头除了5位数字之外,不能是其他的字符,同时该5位数子后面不能有任何的字符”。
http://www.javascriptkit.com/javatutors/re2.shtml
[label][翻译][JavaScript Regular Expression]JavaScript Regular Expressions的更多相关文章
- JavaScript Patterns 3.6 Regular Expression Literal
1. Using the new RegExp() constructor // constructor var re = new RegExp("\\\\", "gm& ...
- Regular Expression Syntax
python的正则表达式 正则表达式的概念 正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符.及这些特定字符的组合,组成一个"规则字符串",这个"规 ...
- [转]The Regular Expression Object Model
本文转自:https://docs.microsoft.com/en-us/dotnet/standard/base-types/the-regular-expression-object-model ...
- (六)JavaScript之[Regular Expression]与[错误(try, catch, throw)]
10].正则表达式 /** * 正则表达式(Regular Expression): * * 用于文本搜索和文本替换 * */ /** * /good/i是一个正则表达式. * good是一个模式(用 ...
- Regular Expression 範例
Regular expression 被實作於各種語言中,可以用來對字串做 比對 擷取 分隔 這幾類的處理.以下是 JavaScript的處理範例. 各位看官,可以按F12開啟 brower 的 de ...
- js regular expression & email checker
js regular expression & email checker const isValidEmail = (email = ``) => /^([\w+\.])+@(\w+) ...
- Regular Expression(正则表达式)之邮箱验证
正则表达式(regular expression, 常常缩写为RegExp) 是一种用特殊符号编写的模式,描述一个或多个文本字符串.使用正则表达式匹配文本的模式,这样脚本就可以轻松的识别和操作文本.其 ...
- Invalid regular expression: unmatched parentheses
Unmatched ) in Javascript regular expression您的某些字符串包含错误')'.你需要逃避这个.这是这样做的功能: function escapeRegExp(s ...
- java 正则表达式 -Regular Expression
正则表达式(Regular Expression),可以说就是一个字符构成的串,它定义了一个用来搜索匹配字符串的模式.正则表达式定义了字符串的模式,可以用来搜索.编辑或处理文本,不仅限于某一种语言(P ...
随机推荐
- Managing Images on smartos
SmartOS依赖images.images是包含在创建新zone或虚拟机时使用的磁盘或文件系统映像和元数据的模板. images使用imgadm工具进行管理. 使用此工具,您可以: 查看和下载在公共 ...
- Eureka 源码编译 部署
Netflix开源的Eureka 是使用Gradle 构建的,所以我们也使用Gradle来编译它 所需环境 Eclipse , Gradle , Tomcat ,git 这些插件如果己经安装可直接 ...
- Ajax 与 jquery
jquery 里面的ajax用法: $.ajax({ 参数设置: 如果返回数据不是json的时候,记得转化为json . var data = json.parse(data); json 可以直接点 ...
- Easyui-datagrid显示时间的格式化代码
{field: 'Time', title: '时间', formatter: function (value, row, index) { var date = new Date(value); v ...
- DOS中命令的格式
---------------siwuxie095 一.DOS中,命令使用格式的一般形式 用中文表达的形式为: [路径] 关键字 [盘符] [路径] 文件名 [扩展名] (参数) [参数 ...
- ecplice中去掉提示信息的步骤
Window-->preferences-->Java-->Editor-->Hovers-->将Combined Hover前面的对勾去掉-->ok.
- cookie、session、token区分
https://www.cnblogs.com/moyand/p/9047978.html http://www.cnblogs.com/JamesWang1993/p/8593494.html Co ...
- OSGi 系列(一)之什么是 OSGi :Java 语言的动态模块系统
OSGi 系列(一)之什么是 OSGi :Java 语言的动态模块系统 OSGi 的核心:模块化.动态.基于 OSGi 就可以模块化的开发 java 应用,模块化的部署 java 应用,还可以动态管理 ...
- thrift相关资源
官网资料,具有各语言的例子 https://thrift.apache.org/tutorial/ https://thrift.apache.org/tutorial/py
- maven 无法下载私服jar包,如刚上传的第三方jar包无法下载。。
原因可能是: 在你下载该文件时 ,的确 私服上没有该文件. 但是maven会在本地仓库建立文件夹路径,并且今天不会再去私服下载. 即使你现在上传3rd jar ,也不会去下载,导致一直找不到jar.. ...