在我的程序中,我想验证html标签的id。对于我的函数,id作为字符串传递给#..我发现在HTML中命名和标识的规则是,
/(^|\s)(#{1})(a-zA-Z)(^a-zA-Z0-9{0})/g;
但是它给了我错误的结果。我的正则表达式有什么问题?
发布于 2012-04-30 22:43:42
/#[a-z][\w\d-]*\b/gi\w表示来自a-z、A-Z和下划线的字母(_)\d表示来自0-9\b的整数表示单词边界i标志是捕捉第一个字母而不管大小写编辑:抱歉在组的开头忘记了边界。
var str = '#sss #s23 dd#ww';
// #ww will be omitted because # is not the
// first char in the char group there.
var rx = /(^|\s)(#[a-z][\w\d-]*)\b/gi;
var arr = [];
str.replace(rx, function(){arr.push(arguments[2])});
// this is just to catch the id's.
// it won't modify str.
for (var i = 0; i < arr.length; i++) {
console.log(arr[i]);
}发布于 2012-04-30 22:01:49
尝试:
/^#[a-z]{1}[a-z0-9_-]*$/i
https://stackoverflow.com/questions/10391140
复制相似问题