SpryValidationTextField para CPF

Pessoal quero validar cpf em tempo real com essa biblioteca : SpryValidationTextField.js

por exemplo para CARTÃO :

'credit_card': { characterMasking: /\d/, validation: function(value, options) { var regExp = null; options.format = options.format || 'ALL'; switch (options.format.toUpperCase()) { case 'ALL': regExp = /^[3-6]{1}[0-9]{12,18}$/; break; case 'VISA': regExp = /^4(?:[0-9]{12}|[0-9]{15})$/; break; case 'MASTERCARD': regExp = /^5[1-5]{1}[0-9]{14}$/; break; case 'AMEX': regExp = /^3(4|7){1}[0-9]{13}$/; break; case 'DISCOVER': regExp = /^6011[0-9]{12}$/; break; case 'DINERSCLUB': regExp = /^3(?:(0[0-5]{1}[0-9]{11})|(6[0-9]{12})|(8[0-9]{12}))$/; break; } if (!regExp.test(value)) { return false; } var digits = []; var j = 1, digit = ''; for (var i = value.length - 1; i >= 0; i--) { if ((j%2) == 0) { digit = parseInt(value.charAt(i), 10) * 2; digits[digits.length] = digit.toString().charAt(0); if (digit.toString().length == 2) { digits[digits.length] = digit.toString().charAt(1); } } else { digit = value.charAt(i); digits[digits.length] = digit; } j++; } var sum = 0; for(i=0; i < digits.length; i++ ) { sum += parseInt(digits[i], 10); } if ((sum%10) == 0) { return true; } return false; } },

[code]<script type=“text/javascript”>

var sprytextfield1 = new Spry.Widget.ValidationTextField(“sprytextfield1”, “none”, {validateOn:[“change”]});
var sprytextfield2 = new Spry.Widget.ValidationTextField(“sprytextfield2”, “none”, {validateOn:[“change”]});
var sprytextfield3 = new Spry.Widget.ValidationTextField(“sprytextfield3”, “zip_code”, {format:“zip_custom”, pattern:“00.000-000”, useCharacterMasking:true, validateOn:[“change”]});
var sprytextfield4 = new Spry.Widget.ValidationTextField(“sprytextfield4”, “phone_number”, {format:“phone_custom”, pattern:"(00)0000-0000", useCharacterMasking:true, isRequired:false, validateOn:[“change”]});
var sprytextfield5 = new Spry.Widget.ValidationTextField(“sprytextfield5”, “phone_number”, {format:“phone_custom”, pattern:"(00)0000-0000", useCharacterMasking:true, isRequired:false, validateOn:[“change”]});
var sprytextfield6 = new Spry.Widget.ValidationTextField(“sprytextfield6”, “none”, {validateOn:[“change”]});
var sprytextfield7 = new Spry.Widget.ValidationTextField(“sprytextfield7”, “phone_number”, {format:“phone_custom”, pattern:"(00)0000-0000", useCharacterMasking:true, isRequired:false, validateOn:[“change”]});
var sprytextfield8 = new Spry.Widget.ValidationTextField(“sprytextfield8”, “none”, {validateOn:[“change”]});
var sprytextfield9 = new Spry.Widget.ValidationTextField(“sprytextfield9”, “email”, {useCharacterMasking:true, isRequired:false, validateOn:[“change”]});
var sprytextfield10 = new Spry.Widget.ValidationTextField(“sprytextfield10”, “date”, {validateOn:[“change”], useCharacterMasking:true, format:“dd/mm/yyyy”});
var sprytextfield11 = new Spry.Widget.ValidationTextField(“sprytextfield11”, “none”, {validateOn:[“change”]});
var sprytextfield12 = new Spry.Widget.ValidationTextField(“sprytextfield12”, “date”, {validateOn:[“change”],useCharacterMasking:true, format:“dd/mm/yyyy”});
var sprytextfield13 = new Spry.Widget.ValidationTextField(“sprytextfield13”, “none”, {validateOn:[“change”]});
var sprytextfield14 = new Spry.Widget.ValidationTextField(“sprytextfield14”, “date”, {validateOn:[“change”],useCharacterMasking:true, format:“dd/mm/yyyy”});

var spryselect1 = new Spry.Widget.ValidationSelect(“spryselect1”, {validateOn:[“change”]});
var spryselect2 = new Spry.Widget.ValidationSelect(“spryselect2”, {validateOn:[“change”]});
var spryselect3 = new Spry.Widget.ValidationSelect(“spryselect3”, {validateOn:[“change”]});
var spryselect4 = new Spry.Widget.ValidationSelect(“spryselect4”, {validateOn:[“change”]});
var spryselect5 = new Spry.Widget.ValidationSelect(“spryselect5”, {validateOn:[“change”]});
var spryselect6 = new Spry.Widget.ValidationSelect(“spryselect6”, {validateOn:[“change”]});
var spryselect7 = new Spry.Widget.ValidationSelect(“spryselect7”, {validateOn:[“change”]});
var spryselect8 = new Spry.Widget.ValidationSelect(“spryselect8”, {validateOn:[“change”]});
var spryselect9 = new Spry.Widget.ValidationSelect(“spryselect9”, {validateOn:[“change”]});
var spryselect10 = new Spry.Widget.ValidationSelect(“spryselect10”, {validateOn:[“change”]});

</script>[/code]

USANDO :

&lt;tr&gt; &lt;td height="30" align="right" class="tabelaFonte"&gt;Data Desativa&ccedil;&agrave;o &lt;/td&gt; &lt;td height="30"&gt;&lt;span id="sprytextfield14"&gt; &lt;input name="clienteFisica.clfiDataDesativacao" type="text" id="data_Desativacao" value="${clienteFisica.clfiDataDesativacao}" size="40" onkeypress="completaData(this)" maxlength="10"/&gt;<br /> &lt;span class="textfieldRequiredMsg"&gt;Este campo é obrigatório.&lt;/span&gt;&lt;span class="textfieldInvalidFormatMsg"&gt;Formato inválido.&lt;/span&gt;&lt;/span&gt;&lt;/td&gt; &lt;/tr&gt;

Tenho visto vários dos seus posts relacionados a camada de visão e acho que vc vai resolver grande parte usando os plugins mais conceituados do Jquery inclusive esse problema de validação.

é que esse plugin é muito eficiente!