My fault, you need to use result (not range.text) and to format using alphacharacters, I think something like this:
Code:
Sub FormatInput()
Dim oFF As FormField
Set oFF = ActiveDocument.FormFields("Text1") 'Your formfield bookmark name.
If Not oFF.Range.Text Like "????-???-????" Then
If Len(oFF.Range.Text) = 11 Then
oFF.Result = Left(oFF.Result, 4) & "-" & Mid(oFF.Result, 5, 3) & "-" & Right(oFF.Result, 4)
Else
MsgBox "Please enter an eleven digit ID"
End If
End If
End Sub