javaeye 写道
在做网页开发时,经常需要做验证,虽然现在有很多的开源的验证框架,但是我们还是需要知道基础的知识。JavaScript中使用正则表达式举例
/**
* 这个是我在工作时使用到了,现在提出来共享下。
* 这里主要是用了正则表达式来实现。在js中使用
* 正则需要先创建一个RegExp对象,它的创建有两
* 种,一时显示的创建,二是隐形的创建。两种创
* 建方式在以下例子中都有,而且在IE中测试通过。
*/
/**
* isStcokName 判断输入的是否为网页链接
* @param {String} stockname 网页链接
*/
function isStcokName(stockname) {
if(stockname===null||stockname.length===0){
return false;
}
stockname=trim(stockname);//删除股票名称的前后空格
//判断输入的推荐人名称是否为以http开头,任意字符结尾,长度任意的字符串
var regex=RegExp("^\\D{3,5}$");
if(!stockname.match(regex)){
return false;
}
else{
return true;
}
}
/**
* isStockCode
* 判断股票代码是否为6位数,是否为空
* @param {String} stockcode 股票代码
*/
function isStockCode(stockcode) {
if(stockcode===null||stockcode.length===0){
return false;
}
stockcode=trim(stockcode);//删除股票代码的前后空格
//判断股票代码是否为一个数字头数字结尾的,总个数为6的字符串
var regex=RegExp("^\\d{6}$");
if(!stockcode.match(regex)){
return false;
}
else{
return true;
}
}
/**
* isRecommender 判断是否为推荐者
* @param {String} recommender
*/
function isRecommender(recommender) {
if(recommender===null||recommender.length===0){
return false;
}
recommender=trim(recommender);//删除推荐人的前后空格
//判断输入的推荐人名称是否为以非数字开头,非数字结尾,总个数为3至18个的字符串
var regex=RegExp("^\\D{2,18}$");
if(!recommender.match(regex)){
return false;
}
else{
return true;
}
}
/**
* vldtTimeFormat
* 验证输入的时间格式是否正确
* @param {String} datetime 日期时间
*/
function isDateTime(datetime) {
if(datetime===null||datetime.length===0){
return false;
}
datetime=trim(datetime);//删除日期的前后空格
//创建正则表达式对象,隐形的创建方式
var regex=/^(20[0-9][0-9][-年])?[0-1]?[0-9][-月][0-3]?[0-9]日? ?[0-2]?[0-9][:点时][0-5]?[0-9][:分]?([0-5]?[0-9])?$/;
//测试正则表达式是否匹配
if (!regex.test(datetime)){
return false;
}
else{
return true;
}
}
/**
* isUrl 判断输入的是否为网页链接
* @param {String} url 网页链接
*/
function isUrl(url) {
if(url===null||url.length===0){
return false;
}
url=trim(url);//删除url的前后空格
//判断输入的推荐人名称是否为以http开头,任意字符结尾,长度任意的字符串
var regex=RegExp("^http://.*$");
if(!url.match(regex)){
return false;
}
else{
return true;
}
}
/**
* 删除指定字符串的前后空格
*/
function trim(string){
//使用这则表达式来替换字符串的前后空格
string=string.replace(/(^\s*)|(\s*$)/g, "");
return string;
}
//分别删除前后空格,左边空格,右边空格。
// Trim() , Ltrim() , RTrim()
String.prototype.Trim = function(){
return this.replace(/(^\s*)|(\s*$)/g, "");
}
String.prototype.LTrim = function(){
return this.replace(/(^\s*)/g, "");
}
String.prototype.RTrim = function(){
return this.replace(/(\s*$)/g, "");
}
分享到:
相关推荐
1. **邮箱验证**:使用正则表达式验证用户输入的邮箱地址是否符合标准格式。 - 示例: - `'^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$'` 2. **电话号码验证**:确保用户输入的电话号码格式正确。 - 示例...
正则表达式是一种强大的文本处理工具,被广泛应用于各种编程语言中,用于实现字符串搜索、替换、解析等功能。本文将根据给定的部分内容,详细解释其中提及的正则表达式,并提供实际应用场景。 #### 二、正则表达式...
在Java中使用正则表达式有显著的优点,例如提高编程效率,特别是对于复杂的文本匹配,如验证电子邮件地址,通常只需要几行代码就能完成,远比传统编程方法简洁。然而,这也需要开发者投入时间学习其用法。 基础的...
还会讨论不同的编程语言或工具(如JavaScript、Python、Java等)中如何使用正则表达式。 第四章 单字符的匹配: 这部分会讲解如何匹配单个字符,如字母、数字、特殊字符等。会涵盖基础字符类,如`\d`(数字)、`\w`...
在正则表达式中,使用括号`()`可以创建分组,允许你对一组字符进行操作,例如`a(bc)*`匹配"a"后面跟着零个或多个"bc"序列。 学习正则表达式的关键在于理解和掌握各种元字符的含义以及它们的组合方式。通过实践和...
在JavaScript中,正则表达式通常用斜杠 `/` 包裹,如 `/pattern/`,并可以通过`.test()`方法来测试字符串中是否存在匹配的子串。 正则表达式的关键在于元字符,它们赋予了字符特殊的含义。例如: - `\` 是转义符,...
- JavaScript中的正则表达式也有自己的特点和限制,如无条件回溯。 8. **应用举例**: - 验证邮箱格式:`/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/` - 提取URL:`/(https?:\/\/[^\s]+)/g` 9. **实践...
### 正则表达式一看就会 有详细举例 #### 知识点概述 本文将详细介绍正则表达式的各种应用场景及示例,旨在帮助读者快速掌握正则表达式的使用方法。正则表达式是一种用于匹配字符串的强大工具,在文本处理、搜索...
在JavaScript中,正则表达式可以通过两种方式创建:一种是直接使用正则表达式字面量,另一种是使用RegExp构造函数。修饰符/g是正则表达式的一部分,位于定界符之外。一旦设置了/g修饰符,就可以使用RegExp对象的几个...
举例来说,尽管在JavaScript中,两个相同的正则表达式直接量不会指向同一个对象引用(即alert(/\d/==/\d/)的比较结果为false),但在某些浏览器的特定版本中,正则表达式直接量的优化行为可能导致函数返回的正则...
例如,JavaScript正则表达式在线测试工具允许用户输入正则表达式和待匹配的字符串,然后测试表达式的匹配效果。正则表达式在线生成工具则可以帮助用户通过图形化界面生成复杂的正则表达式,这对于初学者来说是一个...
正则表达式可以让用户通过使用一系列的特殊字符构建匹配模式,然后把匹配模式与数据文件、程序输入以及WEB页面的表单输入等目标对象进行比较,根据比较对象中是否包含匹配模式,执行相应的程序。举例来说,正则...
3. **在子模式中使用“或”匹配** - **举例**: `(cat|dog)` 匹配 "cat" 或 "dog",并将其作为一个整体捕获。 4. **嵌套子模式** - **说明**: 子模式可以嵌套使用。 - **举例**: `(cat|dog|mouse)` 匹配 "cat"、...
在JavaScript编程语言中,正则表达式是一种强大的文本处理工具,用于字符串的搜索、匹配和替换操作。正则表达式中的参数“g”,代表全局搜索标志,这个标志的加入与否,对执行的操作有着截然不同的影响。 首先,要...
在JavaScript中,正则表达式(Regular Expression)是一种强大的文本处理工具,用于匹配字符串中的模式。本文主要讨论正则表达式的一些关键知识点,包括非正则表达式对象的属性引用、`compile`方法以及`exec`方法。 ...
举例来说,如果你有一个字符串`s='AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPp'`,你可以创建一个正则表达式`r=new RegExp('[A-Z]', 'g')`来匹配所有的大写字母,然后使用`match()`或`exec()`来找到它们。如果想要替换所有...