JavaScript / Angular RegEx仅允许使用alpahnumeric进行粘贴

时间:2015-08-07 12:58:46

标签: javascript regex angularjs

我想要做的是当用户粘贴一个大字符串时,我想从输入的文本中提取字母数字值。

我在普通的JavaScript中这样做,但赞赏角度答案。

到目前为止,我有以下内容:

document.getElementById("paste").addEventListener("keyup",function(){
var inText= "Thank you for contacting us your code is abd123XYZ we will help you shortly ";

 reg = /^[a-z0-9]+$/i;
 var wordsArray=inText.split(" ");

 wordsArray.forEach(function(element){
   //   what to do here to only get abd123XYZ 
 });//foreach

});//keyup

2 个答案:

答案 0 :(得分:1)

试试这个:

var reg = /^(?=.*[0-9])(?=.*[a-zA-Z])([a-zA-Z0-9]+)$/;
angular.forEach(inText.split(" "),function(d){
         if(reg.test(d))
         {
            console.log(d);
         }
});

Demo

答案 1 :(得分:0)

只需使用此正则表达式检查每个拆分部分。

reg = /^[a-z\d]*(?:[a-z]\d|\d[a-z])[a-z\d]*$/i;

并且还要注意^[a-z0-9]+$也会包含只有字母或数字的单词。