麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁(yè) > 編程 > Regex > 正文

正則替換實(shí)現(xiàn)輸入框只能有數(shù)字、中英文逗號(hào)

2020-03-16 20:59:22
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
最近在開發(fā)過(guò)程中,需要一個(gè)輸入框里面只能有數(shù)字與中英文逗號(hào),因?yàn)槭窍嚓P(guān)文章,其它的也不讓出現(xiàn),容易造成問(wèn)題,編程容易把介紹復(fù)制到里面,所以想到了這個(gè)方法
 

本來(lái)很簡(jiǎn)單的小功能,因?yàn)榧?xì)節(jié)折騰了一會(huì),所以一定要細(xì)心才行

實(shí)現(xiàn)代碼也比較簡(jiǎn)單大家可以參考下

核心代碼:

function renumdou(str){var regexp = /[^/d,,]]*/g;newstr=str.replace(regexp,"");return newstr}

VEVB武林網(wǎng)小編給大家分享另外一個(gè)不錯(cuò)的代碼:

自動(dòng)檢測(cè)數(shù)字替換 數(shù)字正則表達(dá)式

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><HTML> <HEAD> <TITLE> New Document </TITLE> <META NAME="Generator" CONTENT="EditPlus"> <META NAME="Author" CONTENT=""> <META NAME="Keywords" CONTENT=""> <META NAME="Description" CONTENT=""> </HEAD> <BODY> <input onkeyup='check(this)'/> </BODY> <script>function check(obj){		var sreg = /^-+.*/g;	var zero = /^0[1-9]+/.*/d*/g;	var val = obj.value;	var plus = '';	if(sreg.test(val)){		val = val.replace(/-+/g,'');				plus = '-';			}	val = val.replace(//s+/g,'');		if(/^/.+.*$/.test(val)){		val = '';	}	val = val.replace(/[^/d/.]/,'');	val = val.replace(/(^/d+/.{1})(/d*).*/g,'$1$2');	val = val.replace(/(^/d+/./d{3})/d*/g,'$1');	val = val.replace(/^[0]*(0{1})([1-9]*)(.*)/g,'$1$2$3');			if(zero.test(val)){		val = val.replace(/0([1-9]+)(.*)$/,'$1$2');	}		obj.value = plus+val;} </script></HTML>

RegExp 使用說(shuō)明

一:正則表達(dá)式的創(chuàng)建方式  
 1.文字格式,使用方法如下:  
 /pattern/flags(即:/模式/標(biāo)記)  
 2.RegExp構(gòu)造函數(shù),使用方法如下:  
 new RegExp("pattern"[,"flags"])(即:new RegExp("模式"[,"標(biāo)記"]))  
   
 參數(shù):  
 pattern(模式):表示正則表達(dá)式的文本  
 flags(標(biāo)記):如果指定此項(xiàng),flags可以是下面之一:  
   
 g:global match(全定匹配)  
 i:ignore case(忽略大小寫)  
 gi:both global match and ignore case(匹配所有可能的值,也忽略大小寫)  
 注意:文字格式中的參數(shù)不要使用引號(hào)標(biāo)記,二夠造器函數(shù)的參數(shù)則要使用引號(hào)標(biāo)記。所以下面的表達(dá)式  
 是等價(jià)的:  
 /ab+c/i     ====================  new RegExp("ab+c","i")  
   
 描述:  
 當(dāng)使用構(gòu)造器函數(shù)創(chuàng)建正則表達(dá)式的時(shí)候,必須使用正常的字符串避開規(guī)則(在字符串中加入前導(dǎo)字符/)是必須的。  
 例如,下面的兩條語(yǔ)句是等價(jià)的:  
 re=new RegExp("//w+");  
 re=//w+/ 

注意:RegExp預(yù)置了$屬性 
$1, ..., $9屬性 
用圓括號(hào)括著的匹配子串,如果有的話。 
是RegExp的屬性 
靜態(tài),只讀 
在JavaScript 1.2, NES 3.0以上版本提供 
描述:因?yàn)閕nput是靜態(tài)屬性,不是個(gè)別正則表達(dá)式對(duì)象的屬性。你可以使用RegExp.input 訪問(wèn)該 
屬性。 
能加上圓括號(hào)的子串的數(shù)量不受限制,但正則表達(dá)式對(duì)象只能保留最后9 條。如果你要訪問(wèn)所有的 
圓括號(hào)內(nèi)的匹配字串,你可以使用返回的數(shù)組。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">  <HTML>  <HEAD>   <TITLE> New Document </TITLE>   <SCRIPT LANGUAGE="JavaScript1.2">   var regexp = new RegExp("(//w+)//s(//w+)");  str = "John Smith";  newstr=str.replace(regexp,"$2");  newstr2=str.replace(regexp,"$1");  document.write("原字符串:"+str+"<br/>");  document.write(newstr+"<br/>");  document.write(newstr2+"<br/>");  document.write('$1='+RegExp.$1+"  $2="+RegExp.$2);  </SCRIPT>  </HEAD>  <BODY>  </BODY>  </HTML> 

二: match() 方法可在字符串內(nèi)檢索指定的值,或找到一個(gè)或多個(gè)正則表達(dá)式的匹配。它返回指定的值,而不是字符串的位置。

語(yǔ)法 
stringObject.match(searchvalue) 
stringObject.match(regexp)參數(shù) 描述 
searchvalue 必需。規(guī)定要檢索的字符串值。 
regexp 必需。規(guī)定要匹配的模式的 RegExp 對(duì)象。如果該參數(shù)不是 RegExp 對(duì)象,則需要首先把它傳遞給 RegExp 構(gòu)造函數(shù),將其轉(zhuǎn)換為 RegExp 對(duì)象。 
返回值 
存放匹配結(jié)果的數(shù)組。該數(shù)組的內(nèi)容依賴于 regexp 是否具有全局標(biāo)志 g。 
說(shuō)明 
match() 方法將檢索字符串 stringObject,以找到一個(gè)或多個(gè)與 regexp 匹配的文本。這個(gè)方法的行為在很大程度上有賴于 regexp 是否具有標(biāo)志 g。

如果 regexp 沒有標(biāo)志 g,那么 match() 方法就只能在 stringObject 中執(zhí)行一次匹配。如果沒有找到任何匹配的文本, match() 將返回 null。否則,它將返回一個(gè)數(shù)組,其中存放了與它找到的匹配文本有關(guān)的信息。

match使用實(shí)例:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">  <HTML>  <HEAD>   <TITLE> New Document </TITLE>   <SCRIPT LANGUAGE="JavaScript1.2">  var str="1 plus 2 equal 3";  var str2="11/23/55";  var results=str.match(new RegExp("//d+","gi"));  for(var i=0;i<results.length;i++){    document.write(results[i]+"<br/>");  }  var res=str2.match(new RegExp("(//d//d?)/(//d//d?)/(//d//d)"));  if(str2.length == res[0].length){    document.write(res[1]+"<br/>");    document.write(res[2]+"<br/>");    document.write(res[3]+"<br/>");  }  </SCRIPT>  </HEAD>  <BODY>  </BODY>  </HTML>    function dateCheck(value) {    re = new RegExp("(//d//d?)/(//d//d?)/(//d//d)");    var result = value.match (re);    if (result){      if (result[0].length != value.length){        alert ("Wrong date format. The correct format should be MM/dd/yy.")        return false;      }else{        var t = result[3];        var y = parseInt("20" + t);        var m = parseInt(result[1], 10) - 1;        var day = parseInt(result[2], 10);          var d = new Date(y, m, day);        if (d.getFullYear() != y || d.getMonth() != m || d.getDate() != day){          alert ("error date!")          return false;        }else{          var sm = result[1].length == 1?'0' + result[1]:result[1];          var sday = result[2].length == 1?'0' + result[2]: result[2];          var sy = result[3];          else             return sm + '/' + sday + '/' + sy;        }      }    }else{      alert ("Wrong date format. The correct format should be MM/dd/yy.");      return false;    }  } 
 


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到正則表達(dá)式頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 亚洲一区在线视频观看 | 欧美色淫 | 欧美性生活久久久 | 羞羞羞网站 | 18视频在线观看娇喘 | 日韩深夜视频 | 亚洲视频黄 | 久草手机在线观看视频 | 国产免费一级淫片a级中文 99国产精品自拍 | www深夜成人 | 日韩黄色av| 在线a毛片免费视频观看 | 国产一级一区二区 | 免费一级欧美在线观看视频 | 在线中文字幕网站 | 黄色免费在线视频网站 | 精品国产亚洲人成在线 | 免费国产自久久久久三四区久久 | 毛毛片在线看 | 国产69精品久久久久9999不卡免费 | av电影在线观看网站 | 黄色免费在线视频网站 | 意大利av在线 | 成人性生活视频在线观看 | 欧美性猛交一区二区三区精品 | bt 自拍 另类 综合 欧美 | 欧美乱码精品一区 | 得得啪在线 | xxx日本视频 | 国产porn在线 | 欧美城网站地址 | 日本高清在线免费 | 黄色片在线免费播放 | 黄色网址在线免费播放 | 羞羞视频免费网站 | 97久久人人超碰caoprom | 黄色试看视频 | xxxⅹ96日本护士hd | 欧美极品欧美精品欧美视频 | 综合图区亚洲 | 亚洲第一页夜 |