我有验证规则:$rules=['username'=>'required|string|alpha_dash']我需要在验证中防止破折号,只允许下划线、字母和数字。我该怎么做?现在alpha_dash允许破折号.. 最佳答案 如果您愿意,我建议您使用regex验证来获得更多自定义功能。参见https://laravel.com/docs/5.8/validation#rule-regex'regex:/^[A-Za-z0-9_]+$/'或更具体地说$rules=['username'=>'required|string|regex:
我有以下字符串,我想从中提取“383-0408”,显然内容发生了变化,但部件号始终跟在字符串“OurStk#:”之后,我怎样才能最优雅地从中提取此信息字符串?MicrochipTechnologyInc.18PIN,7KBFLASH,256RAM,16I/OMfr'sPart#:PIC16F648A-I/SOOurStk#:383-0408 最佳答案 你可以这样做:仅当您要查找的数字部分始终采用digits-digits形式时才有效。@Richard86给出了一个更通用的解决方案,其中包含任意数量和任意数量的破折号,作为您问题的另一
我有这个字符串:Height(cm):200-250(cm)我只想显示数字和破折号,所以剩下的字符串将是:200-250这是我的尝试,但如何包含破折号?$item_data=preg_replace("/[^0-9]/",'',$item_data); 最佳答案 这应该适合你:只需添加破折号和空格即可。也不要忘记trim()字符串以去除值开头和结尾的空格。$str="Height(cm):200-250(cm)";echo$item_data=trim(preg_replace("/[^0-9-]/",'',$str));输出:20
这行得通$source=simplexml_load_file('data.xml');foreach($source->programmeas$programme){echo$programme->title."";}但这不$source=simplexml_load_file('data.xml');foreach($source->programmeas$programme){echo$programme->sub-title."";}我收到这个错误:"Notice:Useofundefinedconstanttitle-assumed'title'in..."此错误可能是由于在
这是一个正则表达式,其中字符串必须以字母数字字符开头和结尾,并且可以包含字母数字字符和破折号。/^[a-zA-Z0-9]{1}[a-zA-Z0-9\-]+[a-zA-Z0-9]{1}$/如何确保不允许出现连续的破折号?例如:shouldallow:some-stringshouldNOTallow:some--string谢谢编辑:我想允许多个破折号,只是不是连续的。例如,“some-thing-here”可以,而“some--thing”则不行。 最佳答案 不需要带有可选破折号的复杂模式,只需使用这个:/^[a-zA-Z0-9]+
我正在尝试使用preg_match()在PHP中验证用户名,但我似乎无法让它按照我想要的方式工作。我需要preg_match()来:只接受字符串开头和结尾的字母或数字接受句点、破折号、下划线、字母、数字长度必须在5-20个字符之间preg_match('/^[a-zA-Z0-9]+[.-_]*[a-zA-Z0-9]{5,20}$/',$username) 最佳答案 将需求分解成更小的部分,您会发现它变得容易得多:第一个字符必须是1个字母或数字中间字符必须是句点、破折号、下划线、字母或数字最后一个字符必须是字母或数字由于第一段和最后一
我正在尝试删除字符串末尾的尾随-(破折号)。这是我的代码:产生这个:save-45-wed-beach-co-ed-6s-jul-aug-我如何才能删除特定的尾随字符(在本例中为破折号)?提前致谢。 最佳答案 使用rtrim:rtrim($str,"-")如果你坚持使用正则表达式,你可以这样做preg_replace('/-$/','',$str)$字符匹配主题的结尾。 关于php-正则表达式-修剪字符串末尾的字符,我们在StackOverflow上找到一个类似的问题:
这个问题在这里已经有了答案:Needaregexthatwillcheckifthestringonlyconsistlettersa-zandnumbersandunderscore(_)andhyphen(-)(5个答案)关闭9年前。我试过:print_r(preg_match("[A-Za-z\\-]",$str));我越来越假了。我不太擅长正则表达式,但它似乎适用于http://regexpal.com/我是不是漏掉了什么?编辑:例如$str=zREBsZtyvw
我有一个来自外部源的PHP对象(使用PEAR的XML_Serializer)。一些变量的名称中有破折号,例如:{'address-one'};我只想知道遍历此对象并使用下划线替换破折号重命名对象属性的最佳方法是什么,这样我就不必处理愚蠢的curl和引号。 最佳答案 使用get_object_vars()遍历它们并根据需要更换:functionreplaceDashes(&$obj){$vars=get_object_vars($obj);foreach($varsas$key=>$val){if(strpos($key,"-")!=
我有一些子页面有与之关联的类别。对于超过1个单词的类别,例如“测试类别”,我需要输出为1个单词,空格用破折号分隔,例如“测试类别”如何重写函数来处理这个问题?publicfunctionCategoriesList(){if($this->Categories()->exists()){returnimplode(',',$this->Categories()->column('Title'));}} 最佳答案 我们可以在我们的Category类中创建一个getDashedTitle函数来返回一个带有破折号而不是空格的标题:clas