Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String 清除电话号码字符串_String_Imacros - Fatal编程技术网

String 清除电话号码字符串

String 清除电话号码字符串,string,imacros,String,Imacros,我有类似的东西 TAG POS=1 TYPE=INPUT:TEXT FORM=ID:crm_case_add ATTR=ID:CrmCasePhoneNumber EXTRACT=TXT 所有电话号码均采用这种格式:800-128-1990或800128-1981或291399 5913 我想要像8002893884这样的纯文本。如何执行此操作?只需在宏中添加以下行: SET !EXTRACT EVAL("'{{!EXTRACT}}'.replace(/[-()\\s]/g,'')") 对于

我有类似的东西

TAG POS=1 TYPE=INPUT:TEXT FORM=ID:crm_case_add ATTR=ID:CrmCasePhoneNumber EXTRACT=TXT
所有电话号码均采用这种格式:800-128-1990或800128-1981或291399 5913


我想要像8002893884这样的纯文本。如何执行此操作?

只需在宏中添加以下行:

SET !EXTRACT EVAL("'{{!EXTRACT}}'.replace(/[-()\\s]/g,'')")

对于那些希望使用SQL的人

我使用一个功能来清理电话号码,这将修复所有电话号码问题或清除字段。如果为空,则返回Null以防止出错

Print'/*Fix Phone Numbers Call*/'
Update tblTemp
    Set Phone = dbo.fnPhoneFix(tblTemp.Phone)
From tblTemp
要创建功能,请使用以下代码:

CREATE FUNCTION [dbo].[fnPhoneFix](@PhoneOld VarChar(20))
    Returns VarChar(10)
AS
    Begin
    Declare @iCnt Int = 0
    Declare @PhoneNew VarChar(15)  = ''

    IF @PhoneOld IS NULL
        RETURN NULL;

    While @iCnt <= LEN(@PhoneOld)
        Begin
            IF Substring(@PhoneOld,@iCnt,1) >= '0' AND Substring(@PhoneOld,@iCnt,1) <= '9'
            Begin
                SET @PhoneNew = @PhoneNew + Substring(@PhoneOld,@iCnt,1)
            End
            Set @iCnt = @iCnt + 1
        End

    If LEN(@PhoneNew) > 10 and Left(@PhoneNew, 1) = '1'
        Set @PhoneNew = RIGHT(@PhoneNew,10);
    Else
        Set @PhoneNew = Left(@PhoneNew,10);

    If LEN(@PhoneNew) <> 10
        Set @PhoneNew ='';
    Return @PhoneNew
End