可以用正则处理一下。如果是input之类的html,提交之后用php截取一下。
如果想在前天就实现在数字之后不让输入汉字的话,可以用js来做。

解决方案 »

  1.   

    请问这个正则表达式对吗?
    [\u4E00-\u9FA5]*[0-9]+[[\.]*[0-9]+]*
      

  2.   

    [[\.]*[0-9]+] :这个不太好理解。
    试试这个:
    $s = "汉字100.001汉字";
    print preg_replace("/(?<=\d)[^\d]*$/","",$s);
      

  3.   

    谢谢两位!但是我不懂这个
    $s = "汉字100.001汉字";
    print preg_replace("/(?<=\d)[^\d]*$/","",$s);刚才写错了,应该是这样的
    <script language="javascript">
    var str="汉字100.001aaa";
    reg=new RegExp("[\u4E00-\u9FA5]*[0-9]+[[\.]*[0-9]+$]*","ig");
    if(reg.test(str))
    alert("pass!");
    else alert("sorry!");
    </script>
      

  4.   

    php代码是这样:
    $s = "汉字100.001汉字";
    print preg_replace("/(?<=\d)[^\d]*$/","",$s);而js代码是这样(修改你的正则):
     <script   language="javascript">
    var   str="汉字100.001aaa";
    reg=new   RegExp("[\u4E00-\u9FA5]*[0-9]+\.*[0-9]+.*$","ig");
    if(reg.test(str))
    alert("pass!");
    else   alert("sorry!");
      

  5.   

    php代码是这样: PHP code$s = "汉字100.001汉字";
    print preg_replace("/(?<=\d)[^\d]*$/","",$s);而js代码是这样(修改你的正则): 
    <script       language="javascript"> 
    var       str="汉字100.001aaa"; 
    reg=new       RegExp("[\u4E00-\u9FA5]*[0-9]+\.*[0-9]+.*$","ig"); 
    if(reg.test(str)) 
    alert("pass!"); 
    else       alert("sorry!"); 
    </script>
      

  6.   

    <script       language="javascript"> 
    var       str="汉字100.001aaa"; 
    reg=new       RegExp("[\u4E00-\u9FA5]*[0-9]+\.*[0-9]+.*$","ig"); 
    if(reg.test(str)) 
    alert("pass!"); 
    else       alert("sorry!"); 
    </script>
    我的那个测试通过了,但是你的上面描红的部分是什么意思?