我需要一个jquery.validate插件的自定义验证方法,它允许我只键入字母和特殊字符,如üõöä。
现在我有一个自定义方法,它允许我只键入没有特殊字符的字母。
jQuery.validator.addMethod("letters", function(value, element)
{
return this.optional(element) || /^[a-z ]+$/i.test(value);
}, "Please enter a letters only.");
答案 0 :(得分:1)
为了测试英语和非英语字母,您可以使用此正则表达式:
([^\x00-\x7F]|[a-zA-Z])
它将测试不在a-zA-Z范围内的字母或该范围内的字母 这是jQuery验证器中的内容:
jQuery.validator.addMethod("letters", function(value, element)
{
return this.optional(element) || /^([^\x00-\x7F]|[a-zA-Z])+$/i.test(value);
}, "Please enter a letters only.");
另一种选择 - 如果你想使用一组特定的字符允许:
jQuery.validator.addMethod("letters", function(value, element)
{
return this.optional(element) || /^([a-zA-ZÆÐƎƏƐƔIJŊŒẞÞǷȜæðǝəɛɣijŋœĸſßþƿȝĄƁÇĐƊĘĦĮƘŁØƠŞȘŢȚŦŲƯY̨Ƴąɓçđɗęħįƙłøơşșţțŧųưy̨ƴÁÀÂÄǍĂĀÃÅǺĄÆǼǢƁĆĊĈČÇĎḌĐƊÐÉÈĖÊËĚĔĒĘẸƎƏƐĠĜǦĞĢƔáàâäǎăāãåǻąæǽǣɓćċĉčçďḍđɗðéèėêëěĕēęẹǝəɛġĝǧğģɣĤḤĦIÍÌİÎÏǏĬĪĨĮỊIJĴĶƘĹĻŁĽĿNŃN̈ŇÑŅŊÓÒÔÖǑŎŌÕŐỌØǾƠŒĥḥħıíìiîïǐĭīĩįịijĵķƙĸĺļłľŀʼnńn̈ňñņŋóòôöǒŏōõőọøǿơœŔŘŖŚŜŠŞȘṢẞŤŢṬŦÞÚÙÛÜǓŬŪŨŰŮŲỤƯẂẀŴẄǷÝỲŶŸȲỸƳŹŻŽẒŕřŗſśŝšşșṣßťţṭŧþúùûüǔŭūũűůųụưẃẁŵẅƿýỳŷÿȳỹƴźżžẓ])+$/i.test(value);
}, "Please enter a letters only.");