求一个正则表达式,
功能就是截取@后面的字符
像新浪微博的功能比如
ssn@你好 要得到“你好”
@ok 要得到“ok”就是中英文都可以的
var val="@你好" //或是 @中国china
var patt=/(\w+)?@(\w+)$|@$/;
//var patt=/^[A-Za-z0-9\u4e00-\u9fa5]+$/; 这个不行
var chars = val.match(patt);
功能就是截取@后面的字符
像新浪微博的功能比如
ssn@你好 要得到“你好”
@ok 要得到“ok”就是中英文都可以的
var val="@你好" //或是 @中国china
var patt=/(\w+)?@(\w+)$|@$/;
//var patt=/^[A-Za-z0-9\u4e00-\u9fa5]+$/; 这个不行
var chars = val.match(patt);
var p = /@(.*)$/;
var arr=["11q23@1234","@中文","ssn@你好","@ok"]
for(var i=0;i<arr.length;i++){
document.write(arr[i].replace(" "," ")+":"+arr[i].match(p)[1]+"<br/>");
}
</script>
如果有多个@,并且要获得每一个@后的字符,用split生成arr数组后,除了arr[0]外全部都是你要的结果,,
如果只需要第一个@后的所有内容,就把除arr[0]之外的数组元素再用@字符join起来..
如果需要最后一个@后的内容,就是arr[arr.length-1]
这个问题用正则效率很低...