Javascript 如何在Jquery中获取特定的字符串内容
我有许多ID为的select字段,如:Javascript 如何在Jquery中获取特定的字符串内容,javascript,jquery,regex,Javascript,Jquery,Regex,我有许多ID为的select字段,如: "custom_view_custom_conditions_attribute_123_field_id" "custom_view_custom_conditions_attribute_321_field_id" "custom_view_custom_conditions_attribute_142_field_id" 我可以使用以下代码获取id: id = $(selector).attr("id").replace(/[^0-9]/g, ""
"custom_view_custom_conditions_attribute_123_field_id"
"custom_view_custom_conditions_attribute_321_field_id"
"custom_view_custom_conditions_attribute_142_field_id"
我可以使用以下代码获取id:
id = $(selector).attr("id").replace(/[^0-9]/g, "")
但是我想得到这个结果“自定义视图自定义条件属性”
如何在jQuery中实现这一点?试试这个
regex
/_\d+_\w*/g
1) 以uu2) 后跟数字(
+
表示一个或多个)2) 再次\ubr>
4)
\w
后跟字母数字(*
表示零或多)试试这个regex
/_\d+_\w*/g
1) 以uu2) 后跟数字(
+
表示一个或多个)2) 再次\ubr> 4)
\w
后跟字母数字(*
表示零或多)使用RegExp
_\d.+
像这样
var id = $(selector).attr("id").replace(/_\d.+/g, '');
使用RegExp
_\d.+
像这样
var id = $(selector).attr("id").replace(/_\d.+/g, '');
你可以这样做
id = $(selector).attr("id").replace(/_[0-9]{3}.*/g, "")
它删除3+3个数字+字符串其余部分的任何实例
顺便说一下,.replace
是纯Javascript,您不需要JQuery
id = $(selector).attr("id").replace(/_[0-9]{3}.*/g, "")
它删除3+3个数字+字符串其余部分的任何实例
顺便说一下,
.replace
是纯Javascript,您不需要JQuery是字段ID
是数字吗?字段ID不是数字。只是一个字符串名称。更大的图片是什么?一旦你有了这个特殊的字符串,你想解决哪个问题呢?field\u ID
是数字吗?field\u ID不是数字。只是一个字符串名。更大的画面是什么?一旦你有了这个特殊的字符串,你想解决哪个问题?@PraveenJeganathan这里应该用什么我是RegExp新手。实际上你的regex似乎是错的。我想你可以看到你的正则表达式的图示match
(类似于string.match()
)返回模式,如果regex返回true,则不替换id,而是返回匹配的模式,其中replace类似于JS中的string.replace()
。既然你是JS,希望你能理解。@PraveenJeganathan ty让我知道我也更新了答案。很简单:)就是这样,你明白了。@PraveenJeganathan ty非常:)@PraveenJeganathan这里应该用什么我对RegExp是新手。实际上你的regex似乎是错的。我想你可以看到你的正则表达式的图示match
(类似于string.match()
)返回模式,如果regex返回true,则不替换id,而是返回匹配的模式,其中replace类似于JS中的string.replace()
。既然你是JS,希望你能理解。@PraveenJeganathan ty让我知道我也更新了答案。很简单:)就是这样,你明白了。@PraveenJeganathan ty:)非常感谢。但是如果包含许多数字,会发生什么情况?在我的示例中,我只显示3个数字,但它可以是1个数字或10个数字?@user648198简单,删除{3}
非常感谢。如果您能解释一下您在正则表达式中所做的工作,那将非常好,这样我就可以从中学习:)[0-9]{3}.*
1)以2)开头,后跟3个数字。3) 后跟null或多个字符。希望您理解。您需要[0-9]*
<代码>*表示匹配0或更多<代码>[0-9]+将匹配1个或更多。非常感谢。但是如果包含许多数字,会发生什么情况?在我的示例中,我只显示3个数字,但它可以是1个数字或10个数字?@user648198简单,删除{3}
非常感谢。如果您能解释一下您在正则表达式中所做的工作,那将非常好,这样我就可以从中学习:)[0-9]{3}.*
1)以2)开头,后跟3个数字。3) 后跟null或多个字符。希望您理解。您需要[0-9]*
<代码>*表示匹配0或更多<代码>[0-9]+将匹配1个或多个。\w
包括下划线,即它相当于[A-Za-z0-9]
,因此您可以简单地使用\ud+\w*
\w
包括下划线,即它相当于[A-Za-z0-9]
,因此您可以简单地使用\ud+\w*