论坛首页 Web前端技术论坛

JavaScript中使用正则表达式举例

浏览 3554 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-10-08   最后修改:2010-03-27
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, "");
 }


论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics