在jquery中优化if else条件

时间:2016-12-16 10:49:58

标签: jquery

<textboxunitconvertor:TextBoxUnitConvertor Name="gasDensityValueControl" ... >
   <textboxunitconvertor:TextBoxUnitConvertor.Resources>
      <local:BindableConverter x:Key="ValueStorageForUnitConverter" SourceTextBox="{Binding ElementName=gasDensityValueControl}"/>
   </textboxunitconvertor:TextBoxUnitConvertor.Resources>
   ...
</textboxunitconvertor:TextBoxUnitConvertor>

你好所有...我已经在2天前发布了这个问题,但我得到任何解决方案....请任何人帮助我......如何优化此代码..我试过切换案例但我无法获得正确的输出...而且我不知道如何处理每个循环中的多个id ...是否还有其他方法来优化此代码???

1 个答案:

答案 0 :(得分:1)

您可以创建一个验证函数,该函数接受元素和正则表达式格式进行验证。

此外,您可以使用toggle()代替show() / hide()toggleClass()代替addClass() / removeClass()

function validate(element, regex)
{
   var errors = !regex.test($(element).val() || $(element).val()=='')
   $(element).toggleClass('box',errors);
   $('.alert').toggle(errors )
}

OR与您的方法,

function validate(element, regex)
{
   if(!regex.test($(element).val() ) || $(element).val()=='')
   {
        $(element).addClass('box');
        $('.alert').show();
        errors=true;
   }else{
        $(element).removeClass('box');
        $('.alert').hide();
   }

 return error;
}

并按如下方式使用,

validate('#username', '/^([a-zA-Z]{2,30})$/');
validate('#mobnum', '/^\d*[0-9](|.\d*[0-9]|,\d*[0-9])?$/');