我想要做的是当用户粘贴一个大字符串时,我想从输入的文本中提取字母数字值。
我在普通的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
答案 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);
}
});
答案 1 :(得分:0)
只需使用此正则表达式检查每个拆分部分。
reg = /^[a-z\d]*(?:[a-z]\d|\d[a-z])[a-z\d]*$/i;
并且还要注意^[a-z0-9]+$
也会包含只有字母或数字的单词。