出于某种原因,这不起作用,但我的所有搜索都说它应该有效。
我在一个元素上有一个id,我试图将该值递增1。
所以让我说我有
<input id="someText1">
我想将1改为2,所以我最终得到了
<input id="someText2">
我尝试使用
匹配文本text = $("input").attr("id").match(/^[a-zA-Z]+$/);
但是当我输出文本的值时,我得到null
请帮忙!
答案 0 :(得分:6)
删除$
符号(文本以数字结尾,你告诉它以字母结尾)
答案 1 :(得分:0)
你的正则表达式应该是
text = $("input").attr("id").match(/^[a-zA-Z0-9]+$/);
你在这之后吗?
var text = $("input").attr("id").replace(/[0-9]+$/, "");
var num = $("input").attr("id").replace(/^[a-zA-Z]+/, "");
答案 2 :(得分:0)
match
选择器必须完全等于ID,并且正则表达式匹配任何仅包含a-z和A-Z的字符串时,它与someText1
不匹配!你应该试试
^[a-zA-Z]+[0-9]$
答案 3 :(得分:0)
我建议使用类名选择器,例如$('.inputs')
,因为它比获取页面上的所有输入元素然后按id过滤更快(特别是在现代浏览器中)。